meta服务器¶
meta服务器不是一个启动使用的服务,是一块盘,一块已经装好了系统,做了一些初始化操作的盘。
meta服务器用于我们将meta的那块盘拷贝,然后通过拷贝出的盘指定硬件配置、导入为一台新的服务器。
创建meta服务器¶
创建系统盘和虚拟机
qemu-img create -f raw /kvm/meta.alv.pub.raw 20G
virt-install --virt-type kvm --name meta.alv.pub -m 00:00:00:00:00:09 --ram 4096 --vcpus 2 --cdrom=/nextcloud/data/alvin/files/isos/centos/CentOS-7.4-x86_64-Everything-1708.iso --disk path=/kvm/meta.alv.pub.raw --network bridge=br0 --graphics vnc,listen=0.0.0.0,port=5909 --noautoconsole
然后安装系统,可以通过5909端口的vnc进入图形化去安装,或是在系统上执行virt-viewer meta.alv.pub打开图形化去安装。
用meta去创建一台虚拟机¶
比如这里我们要创建一台名为ipa.alv.pub 的虚拟机
cp /kvm/meta.alv.pub.raw /kvm/ipa.alv.pub.raw -p
virt-install --virt-type kvm --name ipa.alv.pub --os-variant rhel7 --ram 4096 -m 00:00:00:00:00:02 --vcpus 4 \
--disk=/kvm/ipa.alv.pub.raw --network bridge=br0 --graphics vnc,listen=0.0.0.0,port=5902,keymap=en-us --noautoconsole --import
我们也可以用交互式脚本去创建, 脚本内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | #!/bin/bash
#该脚本用于通过元数据盘拷贝出新盘,然后创建新的虚拟机。
#定义新虚拟机的各种值
read -p 'Please enter virtual machine name: ' name
[ ! -n "$name" ] && echo 'Please enter machine name' && exit 1
#name=ipa.alv.pub
read -p 'Please enter you nic last number (00:00:00:00:00:??):' tmp_nic
[ ! -n $tmp_nic ] && echo 'Please enter nic' && exit 1
#nic=00:00:00:00:00:02
nic=00:00:00:00:00:$tmp_nic
read -p "Please enter vnc port, default is 59$tmp_nic:" vncport
[ ! -n "$vncport" ] && vncport=59$tmp_nic
disk=${name}.raw
read -p 'Please enter ram size (unit is MB):default is 4096' ram
[ ! -n "$ram" ] && ram=4096
read -p 'Please enter your vcpu number:(default is 4)' vcpu
[ ! -n "$vcpu" ] && vcpu=4
#可元磁盘拷贝为新虚拟机要用的磁盘
cp /kvm/meta.alv.pub.raw /kvm/$disk -p
# 创建虚拟机
virt-install --virt-type kvm \
--name $name \
--os-variant rhel7 \
--ram $ram \
-m $nic \
--vcpus $vcpu \
--disk=/kvm/${disk} \
--graphics vnc,listen=0.0.0.0,port=$vncport,keymap=en-us \
--import \
--noautoconsole
#--network bridge=br0 \
|