为Proxmox配置自定义LXC模板

  为了完成毕业设计,粗略统计了一下,整个集群大约需要配置20台左右虚拟机,为了节省母鸡的资源,选用基于容器的半虚拟化技术。考虑到需要配置20台虚拟机,使用默认的模板手工一个个配置甚是繁琐,本着将偷懒进行到底,生命在于折腾的精神,创建一个做好基本设置的模板,便于快速部署。

  首先需要下载默认的LXC模板,并新建一台CT,作为模板机。
  开机进入模板机后,新建一个/newroot目录作为新模板的根目录,并安装操作系统基本的软件。以下内容来自OpenVZ的官方Wiki

1
2
3
4
5
6
7
8
9
10
yum install yum-utils yumdownloader centos-release
mkdir -p /newroot/var/lib
touch /newroot/var/lib/random-seed #without it, the initscript installation script will fail
rpm --rebuilddb --root=/newroot
rpm -i --root=/newroot --nodeps centos-release-6-5.el6.centos.11.2.x86_64.rpm
yum --installroot=/newroot install -y rootfiles openssh-clients openssh-server yum yum-utils man wget sudo tar passwd
yum --installroot=/newroot clean all
ln -s /proc/mounts /newroot/etc/mtab
rm -f /newroot/dev/null
mknod -m 600 /newroot/dev/console c 5 1

  修改/newroot/etc/fstab文件

1
2
none /dev/pts devpts rw,gid=5,mode=620 0 0
none /dev/shm tmpfs defaults 0 0

  修改/newroot/etc/sysconfig/init文件

1
ACTIVE_CONSOLES=

  接下来可以做一些你想要修改的默认配置,比如安装一些需要的软件包,修改系统时区,安装Python2.7,甚至植入SSH Public Key等。

1
2
3
yum --installroot=/newroot install -y vim git crontabs
rm /newroot/etc/localtime
ln -s /usr/share/zoneinfo/Your/Timezone /newroot/etc/localtime

  最后将整个/newroot目录打包,上传到Proxmox的模板目录/var/lib/vz/template/cache即可。

1
tar zcf /vz/template/cache/centos-6-x86_64.tar.gz -C /newroot .