物理服务器设置(旧)¶
警告
本文是之前的一个基于Macbook Pro笔记本来构建虚拟化环境,初始化物理服务器的步骤。写得比较简略,而且当时采用的是比较陈旧的CentOS 7操作系统。在2021年10月,我买了一台二手 HPE ProLiant DL360 Gen9服务器 重新开始实践,将完全重写实践笔记。
服务器IPMI¶
对于服务器管理,远程带外管理是最基本的设置,为服务器设置 IPMI 运行环境,可以让我们能够在系统异常时远程诊断、重启系统,并且能够如果连接键盘显示器一样对物理服务器进行操作。
备注
可以在安装完Linux操作系统之后,通过操作系统的 ipmitool
命令来设置带外管理。
如果带外系统已经设置了远程管理账号,则在每个IPMI命令之前加上:
ipmitool -I lanplus -H <IPMI_IP> -U username -P password <ipmi command>
备注
以下配置命令是假设已经安装好操作系统,登陆到Linux系统中,使用root账号执行命令。如果远程执行,则添加上述远程命令选项。
配置IPMI账号和访问IP:
待续
冷重启BMC,避免一些潜在问题:
ipmitool mc reset cold
操作系统¶
私有云物理服务器采用CentOS 7.x操作系统,采用最小化安装,并升级到最新版本:
sudo yum update sudo yum upgrade
备注
在CentOS 8正式推出以后,就 升级CentOS 7到CentOS 8 ,以获得更好的软件性能及特性。
安装必要软件包:
yum install nmon which sudo nmap-ncat mlocate net-tools rsyslog file ntp ntpdate \ wget tar bzip2 screen sysstat unzip nfs-utils parted lsof man bind-utils \ gcc gcc-c++ make telnet flex autoconf automake ncurses-devel crontabs \ zlib-devel git vim
关闭swap(Kubernetes运行要求节点关闭swap)
安装EPEL:
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
磁盘分区¶
备注
存储磁盘参考 Studio环境的LVM+XFS存储 ,即磁盘块设备采用LVM卷管理,文件系统采用成熟的XFS系统。借鉴 Stratis项目 存储架构。
服务器磁盘
/dev/sda4
构建LVM卷,所以首先通过parted /dev/sda
划分分区:parted -a optimal /dev/sda mkpart primary 54.8GB 100% name 4 store set 4 lvm on
构建LVM卷:
pvcreate /dev/sda4 vgcreate store /dev/sda4 lvcreate --size 128G -n libvirt store mkfs.xfs /dev/store/libvirt lvcreate --size 256G -n docker store mkfs.xfs /dev/store/docker
停止libvirt,将磁盘卷迁移到LVM卷:
systemctl stop libvirtd systemctl stop virtlogd
此时还会提示有sockect没有停止:
Warning: Stopping virtlogd.service, but it can still be activated by:
virtlogd-admin.socket
virtlogd.socket
停止对应socket:
systemctl stop virtlogd-admin.socket
systemctl stop virtlogd.socket
此外还需要停止virtlockd:
systemctl stop virtlockd
systemctl stop virtlockd.socket
此时确保
lsof | grep libvirt
没有输出之后,才可以迁移/var/lib/libvirt
内容:mv /var/lib/libvirt /var/lib/libvirt.bak mkdir /var/lib/libvirt mount /dev/store/libvirt /var/lib/libvirt (cd /var/lib/libvirt.bak && tar cf - .)|(cd /var/lib/libvirt && tar xf -)
同理迁移 docker:
mv /var/lib/docker /var/lib/docker.bak mkdir /var/lib/docker mount /dev/store/docker /var/lib/docker (cd /var/lib/docker.bak && tar cf - .)|(cd /var/lib/docker && tar xf -)
添加
/etc/fstab
配置:echo '/dev/mapper/store-libvirt /var/lib/libvirt xfs defaults 0 1' >> /etc/fstab echo '/dev/mapper/store-docker /var/lib/docker xfs defaults 0 1' >> /etc/fstab
恢复libvirt 和 docker:
systemctl start libvirtd systemctl start docker