虚拟接口+tx+linux,虚拟化

使用qemu-img创建虚拟磁盘文件

# 安装qemu-img

yum install -y qemu-img

# 获取帮助

qemu-img --help

# 支持的虚拟磁盘文件格式

Supported formats: vvfat vpc vmdk(vmware,virtualbox磁盘文件) vhdx vdi ssh sheepdog rbd raw host_cdrom host_floppy host_device file qed qcow2(kvm的虚拟磁盘格式) qcow parallels(Mac上的parallels) nbd iscsi gluster dmg tftp ftps ftp https http cloop bochs blkverify blkdebug

# 创建一个稀疏格式的虚拟磁盘文件, -f: 指定格式, -o:指定选项,/root/kvm.qcow2表示指定创建的虚拟磁盘路径, 80G指定磁盘大小

qemu-img create -f qcow2 -o preallocation=metadata /root/kvm.qcow2 80G

# 查看虚拟磁盘的预定大小

[root@7 ~]# ls -lh /root/kvm.qcow2

-rw-r--r--. 1 root root 81G Sep 29 11:30 /root/kvm.qcow2

# 查看虚拟磁盘的实际大小

[root@7 ~]# du -sh /root/kvm.qcow2

16M /root/kvm.qcow2

# 需改大小,不能缩小,只能扩大

qemu-img resize /root/kvm.qcow2 300G

使用 virt-install 创建虚拟机

virt-install --help

使用 qemu-kvm 创建虚拟机 介绍

1:命令路径:/usr/libexec/qemu-kvm

2:添加至环境变量PATH中(也可以使用软连接ln -sv /etc/profile.d/kvm.sh /usr/bin)

编辑 /etc/profile.d/kvm.sh 添加

export PATH=/usr/libexec:$PATH

. /etc/profile.d/kvm.sh

使用字符界面 qemu-kvm 创建虚拟机

qemu-kvm的基本用法:指定系统类型,CPU运行模式,NUMA(Non Uniform Memory Access Architecture), 软驱设备,光驱设备,硬件设备

# 查看qemu-kvm的帮助

# 查看支持的系统类型

qemu-kvm -M ?

# 下载磁盘镜像文件

wget http://download.cirros-cloud.net/0.3.3/cirros-0.3.3-x86_64-disk.img

# 查看镜像文件的信息

qemu-img info cirros-0.3.3-x86_64-disk.img

# 创建一个虚拟机实例domain,-name 指明实例的名称,-m指定内存大小,-smp指明CPU的核心数,-drive指明驱动的设备和镜像文件,file=指明磁盘镜像文件,media=指定从地方启动虚拟机实例,if=指定网卡驱动,format=指定虚拟磁盘文件类型 -net指定网络,-nographic指定文本界面启动

qemu-kvm -name kvm_linux -m 200 -smp 2 -drive file=/root/cirros-0.3.3-x86_64-disk.img,media=disk,if=virtio,format=qcow2 -net none -nographic

# 切换到root用户

sudo su -

# 可以启动另外一个终端,查看创建虚拟机实例的命令

cat /proc/2989/cmdline

# 使用Ctrl+a 再按h键,可以查看到帮助

C-a hprint thishelp

C-ax exit emulator

C-a ssave diskdata backto file (if -snapshot)

C-a ttoggle consoletimestamps

C-ab send break (magicsysrq)

C-ac switch betweenconsole andmonitor

C-aC-a sends C-a

# 使用Ctrl+a 再按c键,可以来到虚拟机的管理接口界面

help 命令可以查看帮助

system_powerdown 可以关闭计算机

使用vnc客户端连接到 qemu-kvm 创建的虚拟机

# 使用图形界面可以使用vnc将图形转发,可以指定vnc提供的端口,:1表示监听于5901端口,:2指定监听于5902端口,依次类推

qemu-kvm -name kvm_linux -m 200 -smp 2 -drive file=/root/cirros-0.3.3-x86_64-disk.img,media=disk,if=virtio,format=qcow2 -net none -vnc 192.168.43.11:1

# 下载vnc客户端

yum install -y tigervnc

# tigervnc客户端有客户端命令/usr/bin/vncviewer,在图形界面使用vncviewer连接到kvm_linux虚拟节点

vncviewer 192.168.43.11:1

给新建的kvm虚拟机创建网络接口

(一)首先必须创建网卡连接桥接口的启动脚本和停止脚本,其中脚本中的 $1:表示为虚拟机的网卡的右边接口,这两个脚本就是讲虚拟机的网卡的右边接口接在网桥上,实现桥接模型

# 1:/etc/qemu-ifup脚本,且给脚本一个执行权限

###################################### 启动脚本的内容 ########################

#! /bin/bash

bridge=br0

# 如果$1的值不为空

if [ -n "$1" ];then

# 启动网卡接口地址

ip link set $1 up

sleep 1

# 将网卡接口连接至物理桥上,此时为桥接模式

brctl addif $bridge $1

# 确保以上命令执行成功后退出

[ $? -eq 0 ] && exit 0 || exit 1

else

echo "Error: RONG interface" && exit 1

fi

###################################### 启动脚本的内容 ########################

chmod +x /etc/qemu-ifup

# 2:/etc/qemu-ifdown脚本, 且给脚本一个执行权限

###################################### 停止脚本的内容 ########################

#! /bin/bash

bridge=br0

# 如果$1的值不为空

if [ -n "$1" ];then

# 停止网卡接口地址

ip link set $1 down

sleep 1

# 将网卡接口从物理桥上删除

brctl delif $bridge $1

# 确保以上命令执行成功后退出

[ $? -eq 0 ] && exit 0 || exit 1

else

echo "Error: RONG interface" && exit 1

fi

###################################### 停止脚本的内容 ########################

chmod +x /etc/etc/qemu-ifdown

(二)创建一个有网络接口的虚拟机实例

# -net nic指明为网卡接口,model指明virtio虚拟网卡驱动,macaddr为虚拟网卡的Mac地址

# -net 指定网卡的连接方式,物理机的TAP网络接口连接至vlan中,ifname=virtual_eth0 指定宿主机虚拟网卡名称,默认连接的是br0,桥接模型

# -daemonize:指明以daemon的方式运行

qemu-kvm -name kvm_linux -m 200 -smp 2 -drive file=/root/cirros-0.3.3-x86_64-disk.img,media=disk,if=virtio,format=qcow2 -net nic,model=virtio,macaddr=52:54:00:01:01:01 -net tap,ifname=virtual_eth1 -vnc 192.168.43.11:1 -daemonize

(三)通过vnc连接

vncviewer 192.168.43.11:1

(四)输入用户和密码,登入,看看网卡eth0是否有IP,且ping一下www.baidu.com是否ping通

(二)再说virsh 命令行管理虚拟机

重用命令和选项

1:查看运行的虚拟机

virsh list

2:查看所有的虚拟机(关闭和运行的虚拟机)

virsh list --all

3:连接虚拟机

virsh console +域名(虚拟机的名称)

4:退出虚拟机

ctrl+]

5:关闭虚拟机

5.1 virsh shutdown +域名

5.2 virsh destroy +域名

这种方式的关闭,是一种删除的方式,只是在virsh list中删除了该虚拟机。

6:挂起虚拟机

virsh suspend +域名

7:恢复被挂起的虚拟机

virsh resume +域名

8:子机随宿主主机(母机)启动而启动

virsh autostart + 域名

9:取消自动启动

virsh auotstart --disable +域名

10:彻底删除虚拟机

1, 删除虚拟机 virsh destroy +域名

2,解除标记 virsh undefine +域名

3,删除虚拟机文件

11:启动虚拟机并进入该虚拟机

virsh start 域名 --console

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值