linux建立虚拟ip,Linux快速建立虚拟机的一个脚本,并在建立时指定其IP地址

一个小脚本,练习环境下你们能够用用:

前提在 /var/lib/libvirt/images 目录下有用于建立虚拟机的模板镜像template.img及模板配置文件template.xml,bash

#!/bin/bash

#This script will create a virsh-domain named $1.

IMG_DIR=/var/lib/libvirt/images

#判断输入,用法

[ ! $# -eq 1 ]&&echo "请使用:vm [+虚拟机名称]"&&exitdom

#定义域

virdef () {

cp $IMG_DIR/.rhel7.xml /tmp/$1.xml

sed -i "//s/rh7_template/$1/" /tmp/$1.xml

sed -i "/rh7_template.img/s/rh7_template/$1/" /tmp/$1.xml

virsh define /tmp/$1.xml >/dev/null

echo -e "create $1 \e[32;1m[OK]\e[0m"

}ssh

#克隆镜像

vircre () {

qemu-img create -f qcow2 -b $IMG_DIR/template.img /var/lib/libvirt/images/$1 >/dev/null

}ide

vircre $1.img

virdef $1工具

#判断是否安装guestmount工具(挂载虚拟机镜像用).

which guestmount &>/dev/null

[ $? -ne 0 ] && echo -e "请先安装guestmount工具.\n使用:yum -y install libguestfs-tools-c" && exitxml

#建立挂载点并挂载建立出来的虚拟机镜像.

mountpoint="/media/virtimage"

[ ! -d $mountpoint ]&& mkdir -p $mountpoint

echo "请稍后..."

if mount | grep -q "$mountpoint" ;then

umount $mountpoint

fi

guestmount -a $IMG_DIR/$1.img -m /dev/sda1 -m /dev/rhel/root --rw $mountpointip

#读取变量

echo "请选择须要修改IP的网卡(序号):"

#echo -e "1) eth0:192.168.4.0/24\t2) eth1:192.168.2.0/24\n3) eth2:201.1.1.0/24\t4) eth3:201.1.2.0/24"

select dev in eth0 eth1 eth2 eth3

do

break

done

[ -z "$dev" ]&&umount -l $mountpoint &&echo "选择错误"&&exit

read -p "请输入IP地址(不须要掩码):" addr虚拟机

#IP配置

ip_conf() {

if [ "$3" != "eth0" ] ;then

mv $2/etc/sysconfig/network-scripts/ifcfg-eth0 $2/etc/sysconfig/network-scripts/ifcfg-$3

sed -i "/DEVICE/s/=./=$3/" $2/etc/sysconfig/network-scripts/ifcfg-$3

sed -i "/NAME/s/=./=$3/" $2/etc/sysconfig/network-scripts/ifcfg-$3

fi

if grep -q "IPADDR" $2/etc/sysconfig/network-scripts/ifcfg-$3;then

sed -i "/IPADDR/s/=./=$1/" $2/etc/sysconfig/network-scripts/ifcfg-$3

sed -i "/BOOTPROTO/s/=./=none/" $2/etc/sysconfig/network-scripts/ifcfg-$3

else

echo "IPADDR=$1" >> $2/etc/sysconfig/network-scripts/ifcfg-$3

fi

}it

#其余一些自定义设置,

sed -i '/StrictHostKeyChecking/s/#//' /etc/ssh/ssh_config

echo "$1" > $mountpoint/etc/hostname

mkdir $mountpoint/root/.ssh

cat /root/.ssh/id_rsa.pub > $mountpoint/root/.ssh/authorized_keys模板

ip_conf $addr $mountpoint $dev

yum_conf $dev $mountpoint

#检测配置,卸载挂载设备,启动虚拟机

awk -F= -v x=$addr '$2==x{print "完成..."}' $mountpoint/etc/sysconfig/network-scripts/ifcfg-$dev

guestunmount $mountpoint

sleep 2

virsh start $1

在用guestmount挂载上虚拟机镜像后,任何对挂载目录下的修改操做在虚拟机启动后均会生效,因此能够根据本身的需求增长一些自定义配置,如配置yum等;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值