lvm快照迁移或者备份脚本

for VM in `lvs|grep img|grep -v snap |  awk -F_ '{ print $1}'` ;
 do
 echo "lvcreate -L 50G -s -n  "$VM"_snap /dev/vg0/"$VM"_img "
 echo "dd if=/dev/vg0/"$VM"_snap conv=sync,noerror bs=64K | gzip -c | ssh root@服务器IP "gzip -d |dd of=/dev/vg0/"$VM"_img conv=sync,noerror bs=64K"
 echo "lvremove /dev/vg0/"$VM"_snap -f"
 echo "echo $VM done  \`date\`  >>/root/m.log"
 echo " "
done

输出可以直接写入新服务器的已建立好的分区, 也可以设置目录保存为文件。

lvcreate -L 50G -s -n  kvm10000_snap /dev/vg0/kvm10000_img
dd if=/dev/vg0/kvm1220_snap conv=sync,noerror bs=64K | gzip -c | ssh root@新服务器IP "gzip -d |dd of=/dev/vg0/kvm10000_img conv=sync,noerror bs=64K"
lvremove /dev/vg0/kvm10000_snap -f
echo kvm10000 done  `date`  >>/root/m.log

Solusvm手动迁移kvm虚拟机

Solusvm有在线迁移,但是需要离线,而且没有队列支持,操作起来相当的操心。

因数据比较大的原因,快照后直接用dd读取并压缩通过管道传递给新的宿主10.10.1.2并解压再写入lvm分区。

lvcreate -L 200G -s -n  kvm101_snap /dev/vg0/kvm101_img

dd if=/dev/vg0/kvm101_snap conv=sync,noerror bs=8M | gzip -c | ssh [email protected] "gzip -d |dd of=/dev/vg0/kvm101_img conv=sync,noerror bs=8M"

lvremove /dev/vg0/kvm101_snap -f

等待数据写入完成后,再使用rsync进行一次同步jiu差不多可以切换了。

在线服务数据出入量小或者几乎不变动可以用这种方法。

solusvm下LVM增加硬盘

在著名MJJ的zeddicus的文章上面抄袭过来写成了function加上了判断.
用法

#adddisk VGname VMname Size
#adddisk vg0 vm888 25G

主体代码

阅读剩余部分...