
佈署 vm 要多少,一小時? 十分鐘? 秒?
現在佈署VM是很快,但花時間的是其他的準備動作。如網路、vdisk、等…
怎麼加速工作的完成? 以下的例子可以參考。
— 從 cvm 裡運用 ncli / acli 完成 db linux 的部署,以秒為單位。當然這只有 AHV 做的到 —
#!/bin/bash
# writen by simon cheng
# date: 2017
#
num=3
vdisksize=”100G”
vmname=”sql”
vmmaster=”centerm”
acli vm.clone ${vmname}[1..${num}] clone_from_vm=${vmmaster} num_vcpus=8 memory=24G
cntr=`ncli container list | grep default-container | grep VStore | gawk -F: ‘{ printf(“%s”,$2);}’ | cut -c2-`
for ((x=3;x<=14;x++));
do
for ((y=1;y<=$num;y++));
do
acli vm.disk_create ${vmname}${y} create_size=$vdisksize container=$cntr bus=scsi index=$x ;
done
done
— 簡單的馬上 power on vm —
acli vm.on “sql*”
完成後,再去把 LVM stripe & mkfs 做一做就好了 (待續)
example scirpt:
#!/bin/bash
#
# for data
pvcreate /dev/sdb /dev/sdc /dev/sdd /dev/sde
pvcreate /dev/sdf /dev/sdg /dev/sdh /dev/sdi
# for log
pvcreate /dev/sdj /dev/sdk /dev/sdl /dev/sdm
# create disk groups
vgcreate datadg /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdg /dev/sdh /dev/sdi
vgcreate logdg /dev/sdj /dev/sdk /dev/sdl /dev/sdm
# create volumes
lvcreate -l 100%FREE -i8 -I4M -n sqldatavol datadg
lvcreate -l 100%FREE -i4 -I4M -n sqllogvol logdg
# turn off read-ahead
lvchange -r 0 /dev/datadg/sqldatavol
lvchange -r 0 /dev/logdg/sqllogvol
# new file systems
mkfs.xfs -K /dev/datadg/sqldatavol
mkfs.xfs -K /dev/logdg/sqllogvol
# mkfs.ext4 -E nodiscard /dev/datadg/sqldatavol
# mkfs.ext4 -E nodiscard /dev/logdg/sqllogvol
# mount
mkdir -p /mysql/data
mkdir -p /mysql/log
mount -o inode64,nobarrier,noatime,logbufs=8 /dev/datadg/sqldatavol /mysql/data
mount -o inode64,nobarrier,noatime,logbufs=8 /dev/logdg/sqllogvol /mysql/log
echo “##” >> /etc/fstab
echo “##” >> /etc/fstab
echo “/dev/datadg/sqldatavol /mysql/data xfs inode64,nobarrier,noatime,logbufs=8 1 1″ >> /etc/fstab
echo “/dev/logdg/sqllogvol /mysql/log xfs inode64,nobarrier,noatime,logbufs=8 1 1″ >> /etc/fstab
echo “##” >> /etc/fstab