配置
1. 配置csyun-server
csyun-server的配置文件为:/opt/csyun-server/conf/csyun.conf,如果名称不是这个,需要修改配置文件名为csyun.conf 安装的默认配置文件,通常必须修改第一个参数pm_network,pm_network为网络地址,即子网掩码和虚机ip进行“与“运算的结果。 其他的参数具体按照自己的需要修改。
内容如下:
#格式为 key = value
# 当物理主机有多个IP地址时,会用在这个网络地址中的IP地址标识这台物理主机,
pm_network=192.168.0.0
#agent与服务器之间通信的密码
internal_rpc_pass = XXXXXXX
server_rpc_port = 4242
agent_rpc_port = 4243
dns=114.114.114.114,8.8.8.8
db_host = 127.0.0.1
db_port = 5432
db_user = csyun
db_pass = XXXX
db_name = csyun
# http服务用户名与密码
http_user = admin
http_pass = cstech
http_auth = 1
#
debug_sql = 0
session_expired_secs = 600
# 设置采集每个性能数据的间隔的秒数
stats_interval_secs = 10
各个配置项说明如下:
- pm_network=192.168.0.0 : 这是一个网络地址,当物理机上有多块网卡和多个IP地址段时,表明云平台使用哪个网段。
- internal_rpc_pass = XXXXXXX : csyun-server与csyun-agent之间互联通信的密码,需要设置一个,注意需要与csyun-agent中的配置文件保持一致,否则csyun-agent将无法连接到csyun-server。
- server_rpc_port = 4242 : csyun-server的内部rpc服务的端口号
- agent_rpc_port = 4243 : csyun-agent的内部rpc服务的端口号
- dns=114.114.114.114,8.8.8.8 : 这是为虚拟机指定DNS服务器的地址
- db_host = 127.0.0.1 : 数据库的IP地址
- db_port = 5432 : 数据库实例的端口
- db_user = csyun : 数据库实例的用户名
- db_pass = XXXX : 数据库实例的密码
- db_name = csyun : 数据库名称
- http_user = admin : web管理界面的用户名
- http_pass = XXXX : web管理界面的密码
- http_auth = 1 : web管理界面是否使用验证,生产系统应该设置为1,而在开发环境中,为了避免验证导致调试不方便,可以把此验证关掉。
- session_expired_secs = 600: web管理界面没有操作时的session超时时间(秒)。
- stats_interval_secs = 10:CPU、内存、IO等性能数据的采集周期,如果集群的机器比较多,可以把此值改大一些,让性能数据小一些。
按实际情况下修改上面的配置参数
2. 配置csyun-agent
csyun-agent的配置文件为:/opt/csyun-agent/conf/csyun-agent.conf, 安装的默认配置文件,通常必须修改第一个参数server_address,其他的参数,具体按照自己的需要修改。 参数内容如下:
#格式为 key = value
server_address = 192.168.0.5:4242
#agent与服务器之间通信的密码
internal_rpc_pass = XXXXXXX
- server_address = 192.168.0.5:4242 : 这是csyun-server的rpc服务的IP地址与端口
- internal_rpc_pass = csyun_pass_pwd : 这是csyun-agent与csyun-server之间内部rpc通信的密码,要与csyun-server.conf中的配置项internal_rpc_pass设置相同的值,否则会导致系统不能正常工作。
3. 启动csyun-server
csyun-server有一些服务组成:
- csyun-dhcpd : 是给虚拟机动态分配IP地址的服务。
- csyun-webvnc :是给虚拟机提供vnc的服务。
- csyun-server : 管理的主服务,提供对外的web管理服务。
我们一般用systemd管理csyun-server的启动或启动。
把csyun-server注册成systemd服务的命令如下:
/opt/csyun-server/bin/csyun-server reg_service
执行以上命令之后,会在/etc/systemd/system目录下生成Systemd的服务配置文件:
- csyun-dhcpd.service
- csyun-webvnc.service
- csyun-server.service
如果在/etc/systemd/system目录下已存在这几个文件,我们需要重新生成时,需要手工从/etc/systemd/system目录下删除这几个文件,然后再执行/opt/csyun-server/bin/csyun-server reg_service就可以再次生成以上几个配置文件。
然后做如以下操作:
systemctl daemon-reload
systemctl enable csyun-dhcpd
systemctl enable csyun-webvnc
systemctl enable csyun-server
启动这四个服务的方法如下:
systemctl start csyun-dhcpd
systemctl start csyun-webvnc
systemctl start csyun-server
如果csyun-db没有启动,会导致csyun-server或csyun-dhcpd启动失败。
前面/opt/csyun-server/conf/csyun.conf如果没有配置正确也可能导致csyun-server启动失败,查看这几个服务是否启动成功的检查命令为:
systemctl status csyun-dhcpd
systemctl status csyun-webvnc
systemctl status csyun-server
4. 启动csyun-agent
把csyun-agent注册成systemd服务的命令如下:
/opt/csyun-agent/bin/csyun-agent reg_service
上面的命令会自动生成sytemd的服务配置文件:/etc/systemd/system/csyun-agent.service,如果在/etc/systemd/system目录下已存在此文件,我们需要重新生成时,需要手工从/etc/systemd/system目录下删除这个文件,然后再执行/opt/csyun-agent/bin/csyun-agent reg_service就可以再次生成这个配置文件。
上面的操作需要在每台装有csyun-agent的物理机上执行。
启动这csyun-agent服务的方法如下:
systemctl start csyun-agent
查看是否启动成功的命令为:
systemctl status csyun-agent
5. 创建存储池
存储池按照类型分为文件目录、ZFS、CEPH、LVM。其中文件系统类型的存储池只需要创建存储池的路径目录即可。其他类型的存储池创建前的准备工作如下:
5.1 ZFS存储池
首先需要加载ZFS模块到操作系统内核中。ZFS 结合了文件系统和卷管理器的特性。这意味着,它与其他文件系统不同,ZFS 可以创建跨越一系列硬盘或池的文件系统。不仅如此,你还可以通过添加硬盘来增大池的存储容量。ZFS 可以进行分区和格式化。运行以下命令加载:zfs文件系统
/sbin/modprobe zfs
使用zfs创建虚拟机的OS镜像的存储池,即创建一个名为zp01的存储池,此存储池是建立在sdX硬盘上的,Linux设备中可以查看自己有哪些硬盘,查看方式如下:
lsblk
示例:
选择两块未挂载磁盘来创建系统存储池和数据存储池,像上图中的sda1挂载了swap分区,sda2挂载了根目录,因此这两块磁盘是不可以选择的。
本例中选择sdb作为系统存储池,sdc作为数据存储池
使用zfs创建虚拟机的OS镜像的存储池,存储池的名称是zp01,存储池所在的物理盘在/dev/sdb下,根据实际情况把/dev/sdX改成真实的磁盘,该命令会清除/dev/sdX上的数据,所以千万不能写错了!命令如下:
zpool create zp01 /dev/sdX
下面执行去重命令,该指令执行后,保证相同的文件在磁盘中只存储一份
zfs set dedup=on zp01
创建系统盘镜像目录:web页面会将提交的ISO文件镜像存储到/zp01/isoimg/目录下,如果系统的镜像将没有地方存放,新建/zp01/isoimg/目录命令如下:
mkdir /zp01/isoimg/
系统存储池分配成功示例:
OS镜像的存储盘大小按个人需求分配即可。
5.2 LVM存储池
当我们需要创建lvm类型的存储池时,存储池准备方法如下:(注意:只需要创建vg就可以了,不需要创建LV)
vgcreate vgsata01 /dev/sdY
创建成功示例:
有时会报“/dev/sdY not found”,这时用parted /dev/sdc,把分区格式改成msdos方式:
parted /dev/sdY mklabel msdos
在csumdb数据库中插入池的定义,通常这一步是由程序自动完成的,无需手动操作,可以进入到csumdb中检查一下,进入csumdb的方法是在root用户下:
su - csumdb
psql
这样就用psql进入了csumdb中,可以查询一下:
select * from csyun_storage_pool;
查询成功示例如下:
如果表中没有配置,可以用下面的命令配置:
INSERT INTO csyun_storage_pool(pool_id, pool_name, pool_class, pool_type, pool_path)
VALUES (1, '虚拟机OS池', 0, 103, 'zp01');
INSERT INTO csyun_storage_pool(pool_id, pool_name, pool_class, pool_type, pool_path)
VALUES (2, 'ISO镜像池', 0, 103, 'zp01/isoimg');
INSERT INTO csyun_storage_pool(pool_id, pool_name, pool_class, pool_type, pool_path)
VALUES (101, '数据盘SATA池01', 1, 102, 'vgsata01');
上面的必须有pool_id=1的存储池是必须要有的,否则云平台无法正常工作。
注意csyun-db中的表结构的初始化是第一次启动csyun-server时完成的,如果之前csyun-server没有启动过,则会发现csyun-db是一个空库,没有任何表,这时请先启动csyun-server。
如果要创建新的存储池可以手工在csyun_storage_pool插入一行,然后用LVM命令建实际存储池的VG。
6. 后台服务的启动与停止
6.1 主节点上csyun-server等服务的启动与停止
因为前面已经过csyun-server和csyun-agent配置成了systemd的服务,所以可以用systemd的命令一检查这些服务是否启动以及是否正常。
在主节点上用以下命令检查这几个服务是否启动,这几个服务必须启动的:
- systemctl status csyun-server
- systemctl status csyun-dhcpd
- systemctl status csyun-webvnc
如果没有启动则用以下命令启动:
- systemctl start csyun-server
- systemctl start csyun-dhcpd
- systemctl start csyun-webvnc
如果要停止也很简单,用systemctl的以下命令停止就可以了:
- systemctl stop csyun-server
- systemctl stop csyun-dhcpd
- systemctl stop csyun-webvnc
6.2 每台物理机上csyun-agent服务的启动与停止
在每台物理机器上用以下命令检查这几个服务是否启动,这几个服务必须启动的:
- systemctl status csyun-agent
如果没有启动则用以下命令启动:
- systemctl start csyun-agent
如果要停止也很简单,用systemctl的以下命令停止就可以了:
- systemctl stop csyun-agent
在浏览器中输入url: http::8090 就可以打开web管理界面了,如下图所示:
输入用户名和密码(用户名为admin,默认密码为cstech)后就可以登录管理界面了:
如果界面上物理机状态显示正常,且存储池里的系统存储和数据库存储都能显示至少一条记录, 说明安装成功。