1.创建磁盘
vm.list
指定虚拟磁盘名称和主机名
create_vm.sh #创建vm.list中的虚拟磁盘,并指定大小100G
#!/bin/bash
VM_DIR="/opt/vm_disk"
if[!-d "$VM_DIR"];then mkdir -p $VM_DIR;fi
for vm in`cat vm.list`
do
qemu-img create -f qcow2 $VM_DIR/$vm.img 100G
chown qemu:qemu $VM_DIR/$vm.img
done
delete_vm.sh #删除本机安装的虚拟机
#!/bin/bash
VM_DIR="/opt/vm_disk"
if[!-d "$VM_DIR"];then mkdir -p $VM_DIR;fi
for vm in`cat vm.list`
do
virsh undefine $vm
done
echo "删除虚拟磁盘"
cd /opt/vm_disk
rm -rf *.img
echo "删除xml定义文件"
cd /etc/libvirt/qemu
rm -rf *
destroy_vm.sh #关闭虚拟机
#!/bin/bash
VM_DIR="/opt/vm_disk"
if[!-d "$VM_DIR"];then mkdir -p $VM_DIR;fi
for vm in`cat vm.list`
do
virsh destroy $vm
done
install_vm.sh 安装虚拟机脚本(安装多个,换行,并改主机名和ip来区分)
virt-install -q -n kvm-hadoop2 -r 2048--vcpus=2--arch=x86_64 --os-type=linux --os-variant=\'rhel6\'-l http://192.168.10.10/centos/6/os/x86_64/--nographics --disk path=/opt/vm_disk/kvm-hadoop2.img,device=disk,bus=virtio,size=40,format=qcow2 -w bridge=br0 --accelerate --extra-args=\'cOnsole=tty0 cOnsole=ttyS0,115200n8 ks=http://192.168.10.10/ks/ks.php?hostname=kvm-hadoop2&ip1=192.168.10.11&pw=123456 ksdevice=eth0 --connect qemu:///system\'
ping.sh #测试虚拟机网段哪些ip还是空闲的
#!/bin/sh
# Ping网段所有IP
ip="192.168.10."
for i in`seq 1 20`
do
ping -c 2 $ip$i | grep -q \'ttl=\'&& echo "$ip$i yes"|| echo "$ip$i no"
#yes正常,no主机不存在或不正常
done
touchpad.sh #禁用笔记本触控板,我用我自己笔记装centos,并在这个centos上安装虚拟机KVM
使用方式: sh touchpad.sh off 或者 sh touchpad.sh 0 (看提示)
#!/bin/bash
if["$1"="on"]||["$1"="1"]
then
xinput --set-prop 13"Device Enabled"1
echo "open"
elif["$1"="off"]||["$1"="0"]
then
xinput --set-prop 13"Device Enabled"0
echo "close"
else
echo "请输入正确的参数:on/off 、0/1。"
echo "开启触控板sh touchpad on或者sh touchpad 1。"
echo "关闭触控板sh touchpad off或者sh touchpad 0";
fi
start_vm.sh #启动虚拟机
#!/bin/bash
VM_DIR="/opt/vm_disk"
if[!-d "$VM_DIR"];then mkdir -p $VM_DIR;fi
for vm in`cat vm.list`
do
virsh start $vm
done
安装完了提示login:
此时可以login:root
密码:在安装脚本里定义了,123456
也可以用键盘ctrl + ] 快捷键退出,然后ssh登陆脚本设置的ip
默认安装了jdk #在/usr/local/jdk下
默认安装了tomcat #在/opt/server/tomcat 日志在/opt/server/logs下
查看所有安装的虚拟机
$ virsh list --all