Ceph环境准备--虚拟机搭建

引言

本文诞生原因:

  • 玩Ceph一定需要真机? 不需要,虚拟机就够了
  • 电脑没有那么大空间建几T的磁盘!可以的,放心!
  • 虚拟机哪家强? VirtualBox,又快又不要钱

资源准备

首先,需要下载一些软件:


安装VirtualBox

按照提示一路往下点,这里就省去安装步骤了。
添加一个网络:点击preference->Network->Host-Only Network->点击右边的绿色➕,默认添加了vboxnet0,双击vboxnet0,可以查看到这个网络的IP信息,可以记录下来,默认会生成192.168.56.1,步骤如下图:
点击右侧绿色加号即可添加
双击vboxnet0,记录IP

至此VirtualBox的环境已经搭建完毕,下面我们开始安装虚拟机。


安装虚拟机

创建虚拟机

点击New,新建一个虚拟机,命名为ceph-1,类型选择Linux,版本选择Linux 2.6/3.x/4.x 64bit,如下图所示。
新建虚拟机

下一步,内存默认1G。
下一步,创建硬盘,选择Create a virtual hard disk now,单击create,选择第一项VDI,如下图所示。
点击继续
这时候,我们会看到两个选项,Dynamically Allocatedfixed size,如下图所示:
注意这两个选项的区别

这就是我要写这篇文章的原因:

  • Dynamically allocated,这种方式下,创建一个2T的磁盘,实际只会占用计算机几十MB的空间,实际使用多少空间,才会占用多少空间,相当于用时分配,和Ceph中的RBD很相似。
  • fixed size,这种方式下,创建多大的盘就会占用多大的空间,当然选择上面那个选项咯。
  • 下图是创建一个2T的磁盘所占用的空间,所以放心大胆得建,不用担心撑爆电脑。
    2TB的磁盘实际只占用了几MB,会随后期的使用逐渐增大

下一步,输入100GB,这个是给系统盘的,用多少占多少,实际安装完成后只使用了2G。完工。

配置虚拟机

添加ISO

选择刚刚创建的虚拟机,点击Settings-> Storage -> Controller IDE -> Empty,点击右侧的光盘按钮,将刚刚下载的CentOS的镜像添加进来,如下图所示:
添加ISO

添加3个2T磁盘

点击Controller :SATA 旁边的方形加号,添加SATA盘,Create New disk-> VHD-> Dynamically Sized -> 2TB,不要怕,大胆建!
点击Controller:SATA 右边的方形加号

一共创建3个2T盘,给OSD使用,创建完后,截图如下:
ISO加3个2T磁盘完工图

配置网络

点击Settings-> Network-> Adapter 1-> Attach to -> NAT,用于给VM上网,如下图所示:
选择NAT模式

点击Adapter 2 -> 勾选Enable Network Adapter -> Attach to -> Host-only Adapter -> Name -> vboxnet0这里的vboxnet0是在上一步中添加的,完工图如下:
配置第二块网卡,这个网卡用于给主机访问VM以及VM之间的通讯

至此,配置完毕,开始装系统!

安装CentOS

双击刚刚建的虚拟机,Install CentOS 7,一路往下点,需要将系统安装在刚刚创建的100G磁盘上,INSTALLATION DESTINATION-> sda,如下图所示:
选择系统盘安装路径

一路点下去,设置下密码,就完成了安装,需要等待一段时间安装完成,再重启机器即可。
开机,lsblk查看磁盘状态,如下图所示,完工!
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

重启所有主机,完工。