当前位置: 首页 > news >正文

shell centos 7 一键部署 KVM软件脚本

这个脚本有限地方还需要完善下

设计思路:

1、创建检查内核函数  check_kernel()

2、创建升级内核函数  update_kernel()

3、创建检查是否支持虚拟化函数  check_virtual()

4、创建检查操作系统函数  check_system() 

5、创建检查网络函数  check_network()

6、创建检查YUM源函数  check_yum()

7、创建安装KVM依赖包函数  install_kvm()

8、创建卸载清理KVM依赖包函数  uninstall_kvm()

9、创建加载启动支持nmcli的模块或工具函数 restart_nmcli_set()

     CentOS中自动加载802.1q模块:modprobe 8021q

     启动nmcli服务:systemctl restart NetworkManager

  Centos7网卡配置命令nmcli

https://blog.csdn.net/xdy762024688/article/details/132085304?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22132085304%22%2C%22source%22%3A%22xdy762024688%22%7Dicon-default.png?t=N6B9https://blog.csdn.net/xdy762024688/article/details/132085304?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22132085304%22%2C%22source%22%3A%22xdy762024688%22%7D

10、创建安装KVM运行环境包函数  install_kvm_runtime()

11、创建卸载清理KVM运行环境包函数 uninstall_kvm_runtime()

12、创建提示信息函数 Usage()

13、创建case 选项 case $arg in

case $arg in
    i|install)
        echo "一键部署KVM虚拟化环境"
        install_kvm_runtime
        ;;
    u|uninstall)
        echo "一键清理KVM虚拟化环境"
        uninstall_kvm_runtime
        ;;
    h|help)
        Usage
        ;;
    *)
        Usage
        ;;
esac

cat kvm-install-deploy.sh

#!/bin/sh
#Author:norman.li
#Data: 2022-01-24
#Descript:该脚本为一键部署KVM环境#检查内核
check_kernel() {kernel_version=`uname -r | awk -F '-' '{print $2}' | awk -F '.' '{print $1}'`echo "${kernel_version}"
}#升级内核
update_kernel() {yum -y update kernel*
}#检查是否支持虚拟化
check_virtual() {vmx=`grep -E -o 'svm|vmx' /proc/cpuinfo`echo ${vmx}
}#检查操作系统
check_system() {system_name=`cat /etc/redhat-release`echo "${system_name}"
}#检查网络
check_network() {echo "check network"
}#检查YUM源
check_yum() {echo "check yum list"
}#安装KVM依赖包
install_kvm() {yum -y install qemu-kvm libvirt libvirt-python libguestfs-tools libguestfs-tools-c virt-installchkconfig --level 35 libvirtd onservice libvirtd start
}#卸载清理KVM环境包
uninstall_kvm() {chkconfig --level 35 libvirtd offservice libvirtd stopyum -y remove qemu-kvm libvirt libvirt-python libguestfs-tools libguestfs-tools-c virt-install
}#加载启动支持nmcli的模块或工具
restart_nmcli_set() {modprobe 8021qsystemctl restart NetworkManager
}#安装KVM运行环境包install_kvm_runtime() {echo "install kvm runtime"check_systemcheck_kernelcheck_virtualcheck_networkcheck_yuminstall_kvmrestart_nmcli_set
}uninstall_kvm_runtime() {echo "uninstall kvm runtime"uninstall_kvm
}Usage() {echo "命令格式: $0 [功能选项] 详见示例!"echo "功能选项:"echo "    [-i] 一键部署KVM虚拟化环境"echo "    [-u] 一键清理KVM虚拟化环境"echo "使用示例:"echo "    1.一键部署KVM虚拟化环境:	        $0 -i"echo "    2.一键清理KVM虚拟化环境:	        $0 -u"
}arg=`echo $1 | tr -d '-'`
case $arg ini|install)echo "一键部署KVM虚拟化环境"install_kvm_runtime;;u|uninstall)echo "一键清理KVM虚拟化环境"uninstall_kvm_runtime;;h|help)Usage;;*)Usage;;
esac

http://www.lryc.cn/news/108030.html

相关文章:

  • 64 # 实现一个 http-server
  • HCIP作业3
  • 【测试学习三】软件测试的生命周期 BUG的相关知识
  • git rebase 的坑儿
  • SSM(Vue3+ElementPlus+Axios+SSM前后端分离)【四】
  • iPhone 8 Plus透明屏应用范围详解
  • 【前端面试手撕题】instanceof、Array.map、Array.filter、Array.reduce、_objectCreate
  • 8.物联网操作系统之事件标志组
  • [腾讯云Cloud Studio实战训练营]无门槛使用GPT+Cloud Studio辅助编程完成Excel自动工资结算
  • 局域网ssh登录windows自带Linux系统(WSL)踩坑记录
  • 2023-02-03——2023-08-03,半年以来与客服交流的记录【CSND 文章撰写 网站使用求解】客服咨询交流记录(长期更新ing)
  • DCL 操作
  • C++11移动构造函数详解
  • 【力扣】19. 删除链表的倒数第 N 个结点 <链表指针、快慢指针>
  • Vue3和typeScript路由传参
  • SQLserver数据库巡检脚本
  • Go Ethereum源码学习笔记 001 Geth Start
  • idea如何加快创建Maven项目的速度
  • 软件外包开发的GO开发框架
  • oracle会话打满
  • VSCode自定义闪烁光标
  • 复亚智能打造全新云平台:让无人机任务管理更智能、更简单
  • 编程导航第六关——白银挑战
  • 743. 网络延迟时间
  • Kubernetes高可用集群二进制部署(四)部署kubectl和kube-controller-manager、kube-scheduler
  • 在CSDN学Golang场景化解决方案(微服务架构设计)
  • centos7 yum安装mysql5.7
  • 安防视频汇聚平台EasyCVR视频广场面包屑侧边栏支持拖拽操作
  • 爬虫007_python中的输出以及格式化输出_以及输入---python工作笔记025
  • 485modbus转profinet网关连三菱变频器modbus通讯触摸屏监控