Linux KVM
环境
[root@node1 ~]# more /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
[root@node1 ~]#
安装软件
yum install qemu-kvm qemu-kvm-tools virt-manager libvirt virt-install -y
创建磁盘
qemu-img create -f raw /opt/redhat6.9_x86_64.raw 5G
镜像
dd if=/dev/sr0 of=/opt/redhat69_kvm.iso #/dev/sr0为挂载的镜像,也可以直接上传镜像
创建虚拟机,nat网络模式,默认网络为192.168.122.0
virt-install --name redhat68_kvm_64 --virt-type kvm --memory 512 --cdrom=/opt/redhat69_kvm.iso --
disk=/opt/redhat6.9_x86_64.raw --network=default --graphics vnc,listen=0.0.0.0 --noautoconsole
创建虚拟机,bridge网络模式,需要手动创建网桥br1
virt-install --name redhat68_kvm_64_2 --virt-type kvm --memory 512 --cdrom=/opt/redhat69_kvm.iso --
disk=/opt/redhat6.9_x86_64_2.raw --bridge=br1 --graphics vnc,listen=0.0.0.0 --noautoconsole
下载tightvncyc.zip连接新建的虚拟机继续安装192.168.1.11::5900
virsh相关命令
virsh net-list
virsh net-list --all
virsh start redhat68_kvm_64#启动
virsh shudown redhat68_kvm_64#关机
virsh destroy redhat68_kvm_64#直接断电
virsh undefine redhat68_kvm_64#彻底销毁
virsh suspend redhat68_kvm_64#挂起
virsh resume redhat68_kvm_64#从挂起状态恢复
虚拟机配置文件路径/etc/libvirt/qemu/
默认网络配置文件/usr/share/libvirt/networks/default.xml
网桥相关
brctl show#查看网桥信息,如果没有则安装yum install bridge-utils
在配置文件里创建网桥br1
[root@node1 ~]# more /etc/sysconfig/network-scripts/ifcfg-br1
DEVICE=br1
TYPE=Bridge
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.1.11
NETMASK=255.255.255.0
GATEWAY=192.168.1.2
DNS1=192.168.1.2
DNS2=8.8.8.8
将ifcfg-ens37端口添加到网桥br1中
[root@node1 ~]# more /etc/sysconfig/network-scripts/ifcfg-ens37
TYPE="Ethernet"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens37"
DEVICE="ens37"
ONBOOT="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_PRIVACY="no"
BRIDGE=br1
注:在网卡配置文件中只能设置一个网关,其他的网关需要手动添加
用命令创建网桥br1
brctl show
brctl addbr br1#添加网桥br1
brctl addif br1 eth0#将eth0加入网桥br1(会断网)
ip addr del eth0 192.168.1.11/24#删除eth0上的地址
ifconfig br1 192.168.1.1.11/24 up#设置网桥地址为192.168.1.11并启动
route#查看路由信息
route add default gw 192.168.1.2#添加默认路由
路由相关:
添加到网络的路由:route add -net 3.3.3.0/24 gw 2.2.2.252
添加到主机的路由:route add –host 192.168.168.119 gw 192.168.168.1
添加默认网关:route add –host 192.168.168.119 gw 192.168.168.1
添加默认网关:route add default gw 6.6.6.250
删除默认路由:route del default
删除指定路由:route add -net 6.6.6.0/24 gw 5.5.5.250
在linux下设置永久路由的方法:
在/etc/rc.local里添加
route add -net 192.168.3.0/24 dev eth0
route add -net 192.168.2.0/24 gw 192.168.2.254
route add –net 180.200.0.0 netmask 255.255.0.0 gw 10.200.6.201 dev eth0 metric 1
热添加CPU,不可减少
virsh edit redhat68_kvm_64
<vcpu placement='auto' current='1'>4</vcpu>#最多4个
virsh shutdown redhat68_kvm_64
virsh setvcpu redhat68_kvm_64 2 --live
virsh start redhat68_kvm_64
热添加内存,也可热减少
virsh edit redhat68_kvm_64
<memory unit='KiB'>4096000</memory>#最大内存
<currentMemory unit='KiB'>524288</currentMemory>#当前内存
virsh qemu-monitor-command redhat68_kvm_64 --hmp --cmd info balloon#查看当前内存
virsh qemu-monitor-command redhat68_kvm_64 --hmp --cmd balloon 1024#调整当前内存为1024M
virsh qemu-monitor-command redhat68_kvm_64 --hmp --cmd balloon 512#调整当前内存为512M
磁盘
qemu-img --helpg
qemu-im info /opt/redhat6.9_x86_64.raw
全镜像模式raw:一次分配
q洗漱模式cow2:用多少分多少
镜像制作和从镜像创建虚拟机
https://blog.csdn.net/linglong102/article/details/46313903
########################################################
buffer:缓冲,如写盘先写到buffer再写到disk上
cache:常用数据放于此
taskset#把某个进程绑定到某个cpu上
screen
nohup
lrzsz
KVM管理工具
oVort
openstack
clouldstack
#开源邮箱zimbra
原文地址:https://www.cnblogs.com/qqran/p/11373801.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 【STM32H7】第1章 当前主流的小型嵌入式GUI
- 链表反转的两种实现方法,后一种击败了100%的用户!
- envoy filter 开发实践系列 1:官网 echo 示例编译测试
- [Jmeter]---JsonPath表达式提取响应&断言
- envoy filter 开发实践系列 2:官网 http filter 示例编译测试
- 快速入门ElasticSearch
- 如何用 JS 一次获取 HTML 表单的所有字段 ?
- Docker与容器
- Go 每日一库之 air
- Go 每日一库之 goquery
- 个人电脑也做做宏基因组玩玩
- windows 安装 miniconda3 +jupyter lab ,使用系统R语言
- Mysql获取数据的总行数count(*)很慢
- 并发编程问题为什么都很诡异
- 6轮Jmeter压测对比keep-alive的影响