该脚本用于在线环境下部署KVM虚拟化环境,支持Rocky Linux和Ubuntu。
注:运行时请根据实际环境进行修改。
#!/usr/bin/env bash
# **********************************************************
# * Author : Qingcailangren
# * Create time : 2024-10
# * Filename : kvm_install.sh
# * Description : kvm虚拟化环境部署
# **********************************************************
function check_root(){
if [ $UID -ne 0 ];then
echo "请使用root用户执行脚本"
exit 1
fi
}
function check_cpu(){
if grep -E 'vmx|svm' /proc/cpuinfo 1>/dev/null ;then
echo "cpu已启用虚拟化"
else
echo "cpu未启用虚拟化,请开启后再试"
exit 1
fi
}
function install_kvm(){
dnf install epel-release -y 1>/dev/null
dnf install qemu-kvm libvirt libvirt-daemon virt-install virt-manager libvirt-dbus -y 1>/dev/null
if [ "$?" -eq 0 ];then
echo -e "kvm虚拟化环境安装成功"
else
echo -e "kvm虚拟化环境安装失败\n"
exit 1
fi
}
function init_service(){
nmcli c add type bridge con-name br0 ifname br0
nmcli c add type bridge-slave con-name br0-slave ifname ${eth} master br0
nmcli c modify br0 ipv4.method manual ipv4.addresses ${ipadd} ipv4.gateway ${gw} ipv4.dns ${dns}
nmcli c down ${eth}
nmcli c reload
nmcli c up br0 1>/dev/null
sed -i 's/^#vnc_listen = .*/vnc_listen = "0.0.0.0"/' /etc/libvirt/qemu.conf
echo "net.ipv4.ip_forward = 1" >>/etc/sysctl.conf
sysctl -p
systemctl restart libvirtd
}
#Ubuntu
function kvm_ubuntu(){
apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager virt-viewer -y 1>/dev/null
if [ "$?" -eq 0 ];then
echo -e "kvm虚拟化环境安装成功"
else
echo -e "kvm虚拟化环境安装失败\n"
exit 1
fi
}
function check_os(){
echo -e "----正在检测操作系统----\n"
if [ -f /etc/redhat-release ];then
echo -e "----当前操作系统为Rocky Linux----\n"
install_kvm
elif [ -f /etc/lsb-release ];then
echo -e "----当前操作系统为Ubuntu----\n"
kvm_ubuntu
sed -i 's/#user = "root"/user = "root"/;s/#group = "root"/group = "root"/' /etc/libvirt/qemu.conf
adduser ${user} libvirt
adduser ${user} kvm
else
echo -e "----当前操作系统不支持该脚本,请自行修改测试----\n"
exit 1
fi
}
#设置网卡,ip地址,网关,dns
eth="ens37"
ipadd="192.168.10.44/24"
gw="192.168.10.1"
dns="114.114.114.114"
user="test"
function main(){
check_root
echo -e "----正在检查cpu是否支持虚拟化----\n"
check_cpu
echo -e "----正在安装kvm虚拟化环境----\n"
check_os
echo -e "----正在初始化服务----\n"
init_service
echo "------为了确保所有配置生效,建议重启系统------"
}
main
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/9714.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~