VSM(Virtual Storage Manager For Ceph)安装教程
转载注明出处,陈小跑 http://www.cnblogs.com/chenxianpao/p/5770271.html
一、安装环境
OS:CentOS7.2
VSM:v2.1 released
二、安装说明
VSM系统分两个角色,一个是vsm-controller,另外一个是vsm-agent。vsm-agent部署在ceph节点上,vsm-controller部署在单独的任意节点。vsm-controller应该也可以部署在ceph节点上,没尝试过。
VSM有两种包。一种是released版本,一种是源码版本。源码版本需要编译。我使用的是released版本。
解压之后文件夹结构如下图:
├── CHANGELOG
├── installrc
├── INSTALL.md
├── install.sh
├── uninstall.sh
├── LICENSE
├── manifest
│ ├── cluster.manifest.sample
│ └── server.manifest.sample
├── NOTICE
├── README
└── vsmrepo
├── python-vsmclient_2.0.0-123_amd64.deb
├── Packages.gz
├── vsm_2.0.0-123_amd64.deb
├── vsm-dashboard-2.0.0-123_amd64.deb
└── vsm-deploy-2.0.0-123_amd64.deb
mainifest文件夹主要存放各个节点的配置信息。installrc文件配置具体安装的节点。vsmrepo放置vsm的依赖包,install.sh会自动去github获取,如果获取失败了可以从https://github.com/01org/vsm-dependencies/下载v2.1版本的依赖包,放到vsmrepo文件夹中。get_pass.sh是安装完成后获取admin用户密码用的,执行就可以输出密码。
三、安装步骤
以四台服务器,即一个controller节点,三个agent节点为例。
1. 修改installrc文件,填入controller节点ip和agent节点ip。
AGENT_ADDRESS_LIST="192.168.123.21 192.168.123.22 192.168.123.23" CONTROLLER_ADDRESS="192.168.123.10"
2. 然后在manifest文件夹中新建四个文件夹分别以四个ip地址命名。
├── 192.168.123.10
├── 192.168.123.21
├── 192.168.123.22
├── 192.168.123.23
├── cluster.manifest.sample
└── server.manifest.sample
3. 把cluster.manifest.sample拷到controller节点ip的文件夹中,重命名成cluster.manifest。
修改里面的storage_class、storage_group、addr等信息,一般是你使用哪种硬盘就改成哪种,ip地址修改成相应的网段;把Server.manifest.sample拷贝到其余三个节点ip的文件夹中。修改vsm_controller_ip、role和硬盘路径。具体配置信息可参考官网的配置文档。
https://github.com/01org/virtual-storage-manager/blob/master/INSTALL.md#Configure_Cluster_Manifest
https://github.com/01org/virtual-storage-manager/blob/master/INSTALL.md#Configure_Server_Manifest
├── 192.168.123.10
│ └── cluster.manifest
├── 192.168.123.21
│ └── server.manifest
├── 192.168.123.22
│ └── server.manifest
├── 192.168.123.23
│ └── server.manifest
├── cluster.manifest.sample
└── server.manifest.sample
4. 在四台服务器中的/etc/hosts文件中添加以下信息
192.168.123.10 vsm-controller
192.168.123.21 vsm-node1
192.168.123.22 vsm-node2
192.168.123.23 vsm-node3
5. 执行以下命令修改相应的hostname
$ sudo hostnamectl set-hostname vsm-node1
6. CentOS一定要添加epel源,如果下载失败,就把URL的最后的文件路径去掉,找到最新的epel.rpm。安装过程下载依赖包需要这个。
yum install http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
7. 在三个agent节点执行如下命令,把/dev/sdb和/dev/sdc格式化供ceph使用。
$ sudo parted /dev/sdb -- mklabel gpt
Information: You may need to update /etc/fstab.
$ sudo parted -a optimal /dev/sdb -- mkpart primary 1MB 100%
Information: You may need to update /etc/fstab.
$ sudo parted /dev/sdc -- mklabel gpt
Information: You may need to update /etc/fstab.
$ sudo parted -a optimal /dev/sdc -- mkpart primary 1MB 100%
Information: You may need to update /etc/fstab.
8. 最后在主节点上执行如下命令,打通ssh。
Root@vsm-controller:~$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/cephuser/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Root@vsm-controller:~$ ssh-copy-id vsm-node1
Root@vsm-controller:~$ ssh-copy-id vsm-node2
Root@vsm-controller:~$ ssh-copy-id vsm-node3
9. 结束之后执行./install.sh -u root -v 2.2即可。安装流程是先在controller节点下载安装相关依赖包,之后再拷贝到agent节点安装。结束之后在浏览器输入https://192.168.123.10/dashboard/vsm即可访问。执行get_pass.sh脚本获取admin用户密码。创建集群之后就可以使用了。
注:v2.2版本还是测试版本,安装之后web界面是中文的,但是亲测web界面会出现按钮提交失败的情况,由于不懂前端开发所以暂时不知道原因。建议还是先用v2.1版本。
内网服务器安装方法:在外网安装时,修改/etc/yum.conf将keepcache的值由原来的0(表示安装后删除软件包)修改为1(表示安装后保留软件包)。安装完成之后把/var/cache/yum下所有缓存的包拷到内网的相同目录下。再执行安装命令。如果期间出现yum问题,修改yum的源为内网源即可。