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 \