本文首发于:Soul
大纲
kvm创建虚拟机的根本在于这样一条命令,virsh define vm-template.xml
,这条命令的核心就是创建一个虚拟机,之后或者之前的内容都是围绕着这条命令和这个虚拟机的。
- 更新vm-templatem模板是为了进行子机资源配置
- 在更新模板之前检查时主机是为了防止给子机过量的资源导致母机不稳定
- 桥接网卡是为了让子机连接局域网
所以,virsh define vm-template.xml 其本质是在安全可靠的前提下,将母机的资源通过kvm虚拟化的形式分配给子机。
所以主要考虑方向有两个
1、保障母机和子机的安全可靠,包括系统安全和网络安全
2、进行资源分配,包括网络资源、存储资源、计算资源等
该脚本考虑了母机分配资源不会超过母机承受范围的资源安全,其他系统层面和网络层面的安全问题还需考虑
命令
- 1、sed
- 替换注释 sed -i "s/^IPADDR/#&/" file
- 字段追加 sed -i "/DEVICE/a\BRIDGE='br0'" file
- 指定行插入 sed -i "4iContent" file
- 注意"" 和''的区别,在使用变量时可以加\转义字符
- 2、cat
- cat << EOF > file ,这里的变量需要转义字符\,且EOF不能使用双引号"EOF",否则变量会消失
- 3、expect
- expect执行顺序容易错乱
- expect "~" {
send "umount /share \r" } :常用expect方法
- 如果执行expect需要等待很长时间,可以把timeout设置为-1
- expect脚本执行时,不能使用sh script.sh 这样相当于用shell的解释器执行,可以采用./script $args
- 4、while
- while read a b c d e;do