KVM-virsh常用命令
virsh list #在线VM
virsh list --all #所有VM
virsh start #开机
virsh shutdown #软关机
virsh destroy #强制关机
virsh dominfo kvm_name #查看虚机概览信息
virsh dnmpxml vm_name > name.xml #配置备份,xml配置文件路径 /etc/libvirt/qemu
virsh undefine #删除vm,只是删除配置文件,磁盘文件还在;
virsh define name.xml #导入备份的xml配置
virsh edit vm_name #修改配置文件,带语法检查
virsh domrename oldname newname #重命名,在关机状态修改
virsh suspend #挂起,状态paused
virsh resume #解除挂起
virsh vncdisplayer #查看vnc端口号
virsh autostart name #开机自启动,原理配置软连接实现
virsh autostart --disable name #取消开机启动
virsh console name #ctrl + ] 切换退出,可不通过网络,底层console连接
raw:裸格式,占用空间大,不支持快照,性能好
qcow2:qemu copy on write(qemu写时复制,thin)支持快照,性能较raw稍差
qemu-img info #查看磁盘信息
qemu-img convert -f raw -O qcow2 name.raw name.qcow2 #转换格式,支持vmdk
virsh snapshot-create #快照
virsh snapshot-list #快照列表,快照直接放在虚拟磁盘中
virsh snapshot-delete vmname --snapshotname #删除快照,删除快照文件不会变小
virsh snapshot-revert vmname #还原快照
virt-install --name=kvm2 --vcpus=2 --memory=2048 --location=/data/iso/CentOS-7-x86_64-DVD-2009.iso --disk path=/var/lib/libvirt/images/kvm2.qcow2 --network network=default --graphics none --extra-args='console=ttyS0'
上述virt-install命令各个参数含义如下
–name=kvm2表示为创建的虚拟机命名为kvm2。
–vcpus=2表示设置虚拟机cpu有2个核心。
–memory=2048表示设置内存为2G。
–location=/data/iso/CentOS-7-x86_64-DVD-2009.iso表示使用本地iso镜像安装虚拟机。
–disk path=/var/lib/libvirt/images/kvm2.qcow2表示指定虚拟机的磁盘镜像的路径,示例中的路径是我提前通过qemu-img命令创建出来的磁盘,咱们做实验的时候需要自行创建好,如果不想提前创建好磁盘,也可以使用–disk size=50代替–disk path=/var/lib/libvirt/images/kvm2.qcow2,如果使用–disk size=50这个设置,virt-install命令会在/var/lib/libvirt/images/目录中自动创建一个50G的qcow2磁盘,磁盘的前缀名和虚拟机名相同,这个磁盘是预分配所有磁盘空间的,也就是说,会直接占用宿主机50G的磁盘空间。
–network network=default表示使用kvm的默认网络,默认网络就是前一篇文章中提到的IP段为192.168.122.0/24的NAT网络。
–graphics none表示我们安装的过程中,需要使用的图形化控制台,由于我们此处模拟的是纯命令行安装,所以图形化控制台指定为none,表示不使用图形化控制台安装虚拟机。
–extra-args=’console=ttyS0’表示为创建的虚拟机指定内核启动时的内核参数,此处为虚拟机内核添加的参数为console=ttyS0,也就是说,当安装虚拟机时,分配一个ttyS0的虚拟终端,因为我们没有使用图形化控制台安装,所以要分配一个命令行的虚拟终端,以便执行安装操作和安装完成后的登录、执行命令等操作。
Linux brctl 命令
设置 Linux 网桥命令
参数 | 说明 | 示例 |
---|---|---|
addbr <bridge> | 创建网桥 | brctl addbr br10 |
delbr <bridge> | 删除网桥 | brctl delbr br10 |
addif <bridge> <device> | 将网卡接口接入网桥 | brctl addif br10 eth0 |
delif <bridge> <device> | 删除网桥接入的网卡接口 | brctl delif br10 eth0 |
show <bridge> | 查询网桥信息 | brctl show br10 |
stp <bridge> {on|off} | 启用禁用 STP | brctl stp br10 off/on |
showstp <bridge> | 查看网桥 STP 信息 | brctl showstp br10 |
setfd <bridge> <time> | 设置网桥延迟 | brctl setfd br10 10 |
showmacs <bridge> | 查看 mac 信息 | brctl showmacs br10 |
traceroute命令
traceroute是用来检测发出数据包的主机到目标主机之间所经过的网关数量的工具。traceroute的原理是试图以最小的TTL(存活时间)发出探测包来跟踪数据包到达目标主机所经过的网关,然后监听一个来自网关ICMP的应答。发送数据包的大小默认为38个字节。
1.命令格式:
traceroute [参数] [主机]
2.命令功能:
traceroute指令让你追踪网络数据包的路由途径,预设数据包大小是40Bytes,用户可另行设置。
具体参数格式:traceroute [-dFlnrvx][-f<存活数值>][-g<网关>…][-i<网络界面>][-m<存活数值>][-p<通信端口>][-s<来源地址>][-t<服务类型>][-w<超时秒数>][主机名称或IP地址][数据包大小]
3.命令参数:
-d 使用Socket层级的排错功能。
-f 设置第一个检测数据包的存活数值TTL的大小。
-F 设置勿离断位。
-g 设置来源路由网关,最多可设置8个。
-i 使用指定的网络界面送出数据包。
-I 使用ICMP回应取代UDP资料信息。
-m 设置检测数据包的最大存活数值TTL的大小。
-n 直接使用IP地址而非主机名称。
-p 设置UDP传输协议的通信端口。
-r 忽略普通的Routing Table,直接将数据包送到远端主机上。
-s 设置本地主机送出数据包的IP地址。
-t 设置检测数据包的TOS数值。
-v 详细显示指令的执行过程。
-w 设置等待远端主机回报的时间。
-x 开启或关闭数据包的正确性检验。