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%7D
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%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
相关文章:
shell centos 7 一键部署 KVM软件脚本
这个脚本有限地方还需要完善下 设计思路: 1、创建检查内核函数 check_kernel() 2、创建升级内核函数 update_kernel() 3、创建检查是否支持虚拟化函数 check_virtual() 4、创建检查操作系统函数 check_system() 5、创建检查网络函数 check_network() 6…...
64 # 实现一个 http-server
准备工作 上一节实现了通过 commander 的配置获取到用户的参数,下面完成借用 promise 写成类的方法一节没有完成的任务,实现一个 http-server,https://www.npmjs.com/package/http-server,http-server 是一个简单的零配置命令行静…...
HCIP作业3
题目 配置IP地址 R1 [r1]int g0/0/1 [r1-GigabitEthernet0/0/1]ip add 192.168.1.1 24 [r1-Serial4/0/0]ip add 12.1.1.1 24 R2 [r2]int s4/0/0 [r2-Serial4/0/0]ip add 12.1.1.2 24 [r2-Serial4/0/0]int s4/0/1 [r2-Serial4/0/1]ip add 32.1.1.1 24 [r2-Serial4/0/1]in…...
【测试学习三】软件测试的生命周期 BUG的相关知识
目录 一、软件测试的生命周期(重要) 🍑1、软件的生命周期? 🍑2、软件测试的生命周期? 二、关于BUG 🍑1、如何描述与定义一个BUG?(了解) 🍑2…...
git rebase 的坑儿
1 同步远程仓库 git pull --rebase拉取远程分支之后如果没有冲突直接使用 git rebase --continue若有冲突, 解决冲突, 一般是使用当前的更改, 因为传入的更改是你本地的更改 然后使用 git add 提交冲突 此处千万别使用 git commit --amend 最后使用 git rebase --continu…...
SSM(Vue3+ElementPlus+Axios+SSM前后端分离)【四】
文章目录 SSM(Vue3ElementPlusAxiosSSM前后端分离)--基础环境搭建【四】项目介绍项目功能/界面● SSM 整合项目界面 创建表,使用逆向工程生成Bean、XxxMapper 和XxxMapper.xml1. 创建furns_ssm 数据库和furns 表使用MyBatis Generator 逆向工程生成bean mapper 接口…...
iPhone 8 Plus透明屏应用范围详解
iPhone 8 Plus是苹果公司于2017年推出的一款智能手机,它采用了全新的玻璃机身设计,支持无线充电,并且搭载了更强大的A11仿生芯片。 而透明屏则是一种新型的屏幕技术,可以使手机屏幕呈现出透明的效果。 透明屏是一种将屏幕背后的元…...
【前端面试手撕题】instanceof、Array.map、Array.filter、Array.reduce、_objectCreate
FED6 instanceof 描述 请补全JavaScript代码,要求以Boolean的形式返回第一个实例参数是否在第二个函数参数的原型链上。 <!DOCTYPE html> <html><head><meta charset"UTF-8"><style>/* 填写样式 */</style> </h…...
8.物联网操作系统之事件标志组
。事件标志组定义 FreeRTOS事件标志组介绍 FreeRTOS事件标志组工作原理 一。事件标志组定义 信号量信号量只能实现任务与单个事件或任务间的同步。但是某些任务可能会需要与多个事件或任务进行同步,此时就可以使用事件标志组来解决。事件标志组能够实现某个任务与…...
[腾讯云Cloud Studio实战训练营]无门槛使用GPT+Cloud Studio辅助编程完成Excel自动工资结算
目录 前言一、Cloud Studio产品介绍1.1 注册Cloud Studio 二、项目实验2.1 选择合适的开发环境2.2 实验项目介绍2.3 实验步骤三、总结 前言 chatgpt简单介绍: ChatGPT是一种基于GPT的自然语言处理模型,专门用于生成对话式文本。它是OpenAI于2021年发布的࿰…...
局域网ssh登录windows自带Linux系统(WSL)踩坑记录
局域网ssh登录windows自带Linux系统(WSL)踩坑记录 系统和工具安装查看IPLinux用户和端口设置Windows ssh 登录Mac ssh 登录 系统和工具安装 先按照网上的教程安装好Linux系统(一般都是安装Ubuntu),安装好ssh等工具&am…...
2023-02-03——2023-08-03,半年以来与客服交流的记录【CSND 文章撰写 网站使用求解】客服咨询交流记录(长期更新ing)
这世界上久处不厌,都是因为用心。 🎯作者主页: 追光者♂🔥 🌸个人简介: 💖[1] 计算机专业硕士研究生💖 🌿[2] 2023年城市之星领跑者TOP1(哈尔滨)🌿 🌟[3] 2022年度博客之星人工智能领域TOP4🌟 🏅[4] 阿里云社区特邀专家博主🏅 🏆...
DCL 操作
文章目录 1.新建用户2.删除用户3.用户授权4.撤销用户权限5.查看用户权限6.修改用户密码 1.新建用户 # 命令格式 CREATE USER [username][host] identified by [password];# 示例 CREATE USER lvlvlocalhost identified by lvlv; CREATE USER lvlv192.168.1.1 identified by lv…...
C++11移动构造函数详解
C11移动构造函数详解 拷贝构造函数修改后的拷贝构造函数移动构造函数移动构造函数的优点 当类中同时包含拷贝构造函数和移动构造函数时,如果使用临时对象初始化当前类的对象,编译器会优先调用移动构造函数来完成此操作。只有当类中没有合适的移动构造函数…...
【力扣】19. 删除链表的倒数第 N 个结点 <链表指针、快慢指针>
【力扣】19. 删除链表的倒数第 N 个结点 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 输入:head [1,2,3,4,5], n 2 输出:[1,2,3,5] 示例 2: 输入:head [1], n…...
Vue3和typeScript路由传参
1 params传的参数,页面刷新就消失,而query传的参数,页面刷新还会存在,所以通常用query。 query传参 跳转页面:拿到router对象,调用push方法做跳转. import { useRoute,useRouter} from "vue-router"; export default…...
SQLserver数据库巡检脚本
SQL Server数据库巡检脚本的示例: #!/bin/bash# 设置SQL Server登录凭证 SQL_USER"your_username" SQL_PASSWORD"your_password"# 设置巡检结果输出文件路径 OUTPUT_FILE"/path/to/output.log"# 获取SQL Server版本信息 sql_version…...
Go Ethereum源码学习笔记 001 Geth Start
Go Ethereum源码学习笔记 前言[Chapter_001] 万物的起点: Geth Start什么是 geth?go-ethereum Codebase 结构 Geth Start前奏: Geth Consolegeth 节点是如何启动的NodeNode的关闭 Ethereum Backend附录 前言 首先读者需要具备Go语言基础,至少要通关菜鸟…...
idea如何加快创建Maven项目的速度
一、下载archetype-catalog.xml 下载archetype-catalog.xml的地址 二、配置 以下所说的配置都指全局配置。 配置Maven -DarchetypeCataloglocal -Dfile.encodinggbk...
软件外包开发的GO开发框架
近些年GO语言使用的越来越多,尤其是在web应用开发和高性能服务器的项目里。在开发新项目时掌握一些常用的开发框架可以节省开发时间提高工作效率,也是对软件开发人员基本的技能要求。今天和大家分享一些常见的GO语言开发框架,希望对大家有所帮…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
CentOS下的分布式内存计算Spark环境部署
一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...
04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序
一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别
OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...
以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)
本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...
JS手写代码篇----使用Promise封装AJAX请求
15、使用Promise封装AJAX请求 promise就有reject和resolve了,就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...
Go语言多线程问题
打印零与奇偶数(leetcode 1116) 方法1:使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...
