本文诞生原因:
- 玩Ceph一定需要真机? 不需要,虚拟机就够了
- 电脑没有那么大空间建几T的磁盘!可以的,放心!
- 虚拟机哪家强? VirtualBox,又快又不要钱
¶资源准备
首先,需要下载一些软件:
¶安装VirtualBox
按照提示一路往下点,这里就省去安装步骤了。
添加一个网络:点击preference->Network->Host-Only Network-> 点击右边的绿色➕,默认添加了vboxnet0 ,双击vboxnet0 ,可以查看到这个网络的IP信息,可以记录下来,默认会生成192.168.56.1 ,步骤如下图:
至此VirtualBox的环境已经搭建完毕,下面我们开始安装虚拟机。
¶安装虚拟机
¶创建虚拟机
点击New ,新建一个虚拟机,命名为ceph-1 ,类型选择Linux ,版本选择Linux 2.6/3.x/4.x 64bit ,如下图所示。
下一步,内存默认1G。
下一步,创建硬盘,选择Create a virtual hard disk now ,单击create ,选择第一项VDI ,如下图所示。
这时候,我们会看到两个选项,Dynamically Allocated 和fixed size ,如下图所示:
这就是我要写这篇文章的原因:
Dynamically allocated ,这种方式下,创建一个2T的磁盘,实际只会占用计算机几十MB的空间,实际使用多少空间,才会占用多少空间,相当于用时分配,和Ceph中的RBD很相似。
fixed size ,这种方式下,创建多大的盘就会占用多大的空间,当然选择上面那个选项咯。
- 下图是创建一个2T的磁盘所占用的空间,所以放心大胆得建,不用担心撑爆电脑。
下一步,输入100GB,这个是给系统盘的,用多少占多少,实际安装完成后只使用了2G。完工。
¶配置虚拟机
¶添加ISO
选择刚刚创建的虚拟机,点击Settings-> Storage -> Controller IDE -> Empty ,点击右侧的光盘按钮,将刚刚下载的CentOS的镜像添加进来,如下图所示:
¶添加3个2T磁盘
点击Controller :SATA 旁边的方形加号,添加SATA盘,Create New disk-> VHD-> Dynamically Sized -> 2TB ,不要怕,大胆建!
一共创建3个2T盘,给OSD使用,创建完后,截图如下:
¶配置网络
点击Settings-> Network-> Adapter 1-> Attach to -> NAT ,用于给VM上网,如下图所示:
点击Adapter 2 -> 勾选Enable Network Adapter -> Attach to -> Host-only Adapter -> Name -> vboxnet0 这里的vboxnet0 是在上一步中添加的,完工图如下:
至此,配置完毕,开始装系统!
¶安装CentOS
双击刚刚建的虚拟机,Install CentOS 7 ,一路往下点,需要将系统安装在刚刚创建的100G磁盘上,INSTALLATION DESTINATION-> sda ,如下图所示:
一路点下去,设置下密码,就完成了安装,需要等待一段时间安装完成,再重启机器即可。
开机,lsblk 查看磁盘状态,如下图所示,完工!
¶克隆前的CentOS配置
¶配置网卡
1
| vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
|
将最后一行的ONBOOT=no 改为ONBOOT=yes ,这个是Adapter 1 的网卡,用于给虚拟机上网。
1 2 3 4 5 6
| vi /etc/sysconfig/network-scripts/ifcfg-enp0s8 #修改以下几个配置项 BOOTPROTO=static ONBOOT=yes IPADDR=192.168.56.101 #因为vboxnet0的IP为192.168.56.1 NETMASK=255.255.255.0
|
重启网卡并检查联网状态:
1 2 3 4 5
| systemctl restart network ping 114.114.114.114 PING 114.114.114.114 (114.114.114.114) 56(84) bytes of data. 64 bytes from 114.114.114.114: icmp_seq=1 ttl=63 time=48.1 ms 64 bytes from 114.114.114.114: icmp_seq=2 ttl=63 time=46.8 ms
|
¶修改yum源
官网的yum源可能会有些慢,我习惯将yum源修改成aliyun的源,指令如下:
1 2 3 4 5 6
| yum clean all curl http://mirrors.aliyun.com/repo/Centos-7.repo >/etc/yum.repos.d/CentOS-Base.repo curl http://mirrors.aliyun.com/repo/epel-7.repo >/etc/yum.repos.d/epel.repo sed -i '/aliyuncs/d' /etc/yum.repos.d/CentOS-Base.repo sed -i '/aliyuncs/d' /etc/yum.repos.d/epel.repo yum makecache
|
安装一些软件并修改主机名:
1 2
| yum -y install wget ntp vim echo ceph-1 >/etc/hostname
|
完工,关机。
¶克隆虚拟机
右击刚刚关机的ceph-1 虚拟机,选择clone 。重命名虚拟机为ceph-2 ,并勾选重新初始化MAC和网卡选项。
登陆ceph-2 ,修改enp0s8 的IP。
1 2 3
| vim /etc/sysconfig/network-scripts/ifcfg-enp0s8 IPADDR=192.168.56.102 echo ceph-2 > /etc/hostname
|
同样的方法制作一台ceph-3 ,记得修改IP为192.168.56.103 。
最后的工作,将各个主机的IP加入各自的/etc/hosts 中:
1 2 3 4 5 6
| vim /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.56.101 ceph-1 192.168.56.102 ceph-2 192.168.56.103 ceph-3
|
重启所有主机,完工。
|