하나, KVM 개요
- 소개 :
KVM은 Kernel Virtual Machine의 약자입니다. 현재 Redhat은 64 비트 Rhel5.4 이상 시스템에서만 실행을 지원하며 하드웨어는 VT 기술을 지원해야합니다. KVM의 전신은 QEMU였습니다. 2008 년에 Redhat에 인수되어 하이퍼 바이저 기술을 획득했습니다. 그러나 Redhat의 KVM은 미래 Linux 하이퍼 바이저의 주류로 간주됩니다. 정확히 말하면 KVM은 Linux 커널의 모듈이 아닙니다. . 완성 된 KVM 가상 머신을 관리하고 생성하려면 더 많은 보조 도구가 필요합니다. - 배포 환경 :
Linux 서버의 활용률이 그리 높지 않은 경우 이러한 Linux 서버를 최대한 활용하기 위해 KVM을 배포하여 물리적 머신에서 여러 비즈니스 시스템을 실행하여 Linux 서버의 활용률을 높일 수 있습니다.
둘째, 가상 머신 시작 조건
-
하드웨어 :
(1) 메모리 : 2048M 이상
(2) 프로세서 : 코어 수 2
(3) 가상화 엔진 : 선호 모드 intel VT-x 또는 AMD-V
(4) 하드 디스크 : 60G 이상 (필요에 따라 다름)
-
운영 환경 :
방법 1 :
CentOS7을 사용하여 CPU 가상화 지원 활성화
最简单的安装方法就是在安装系统的时候,选择桌面安装——虚拟化选项即可
-
방법 2 :
기존 명령 줄 또는 그래픽 시스템을 기반으로 KVM에 필요한 소프트웨어 단계를 설치합니다
.
******查看主机的KVM内核模块
[root@KVM ~]# lsmod |grep kvm
kvm_intel 188688 0
kvm 636969 1 kvm_intel
irqbypass 13503 1 kvm
******检测CPU是否支持虚拟化,vmx代表Intel CPU,svm代表AMD CPU
[root@KVM ~]# grep -E '(vmx|svm)' /proc/cpuinfo (输入后会有深红色字体)
******将新添加的60G硬盘分区格式化
[root@KVM ~]# fdisk /dev/sdb (创建新的分区)
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0xea058649 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p):
Using default response p
分区号 (1-4,默认 1):
起始 扇区 (2048-125829119,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{
K,M,G} (2048-125829119,默认为 125829119):
将使用默认值 125829119
分区 1 已设置为 Linux 类型,大小设为 60 GiB
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:64.4 GB, 64424509440 字节,125829120 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xea058649
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 125829119 62913536 83 Linux
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@KVM ~]# mkfs -t xfs /dev/sdb1 (格式化新的分区)
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=3932096 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=15728384, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=7679, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
******将新的分区挂载给/opt,作为KVM虚拟机的存储池
[root@KVM ~]# mount /dev/sdb1 /opt/ (手动挂载)
[root@KVM ~]# echo "/dev/sdb1 /opt xfs defaults 0 0" >> /etc/fstab (自动挂载)
******配置好本地yum源
[root@KVM ~]# cat /etc/yum.repos.d/centos7.repo
[aaa]
name=aaa
baseurl=file:///media/cdrom
enabled=1
gpgcheck=0
以上,准备工作完成
셋, 준비 작업 완료 후 단계
桌面环境和命令行环境都可以做
******安装GNOME桌面环境
[root@KVM ~]# mount /dev/cdrom /media/cdrom/
mount: /dev/sr0 写保护,将以只读方式挂载
[root@KVM ~]# yum -y install qemu-kvm libvirt virt-install virt-manager
(用户空间的工具、管理kvm虚拟机、安装kvm虚拟机、图形化虚拟机管理器)
。。。。。。
完毕!
[root@KVM ~]# systemctl start libvirtd (开启)
[root@KVM ~]# systemctl enable libvirtd (设置为开机自启)
******将Windows7的镜像传到/tmp目录下
我这里使用的是Xshell连接的centos7,所以直接使用自带的xftp传了,没有的话可以先挂载然后把文件复制到/tmp下,记得要分开目录
[root@KVM ~]# cd /tmp/
[root@KVM tmp]# ls (传输完成)
[root@CentOS7-1 tmp]# ls
anaconda.log
cn_windows_7_ultimate_with_sp1_x64_dvd_618537.iso
。。。。。。
******开启KVM虚拟机管理器
[root@KVM tmp]# virt-manager
我这里使用的是图行化系统,命令行和图形化是一样的,图行化点击应用程序——系统工具——虚拟系统管理器
- 두 번 클릭 : QEMU, "저장소"설정
- 스토리지 풀 추가 :
- 이미지 파일이있는 디렉토리 / tmp를 스토리지 풀에 추가하고 이름을 ISO로 지정 (왼쪽 하단 모서리에있는 + 기호 클릭) (이미지 파일이 저장되는 위치)
- / opt 디렉토리를 스토리지 풀에
추가 하고 설치된 가상 머신의 스토리지 디렉토리로 사용되는 KVM이라는 이름을 지정합니다. 스토리지 볼륨을 추가합니다 (여전히 왼쪽 하단 모서리에 + 기호가 있음) (이것은 하드 디스크 공간 디렉토리입니다. 생성 된 가상 머신의)
- KVM을 선택하고 가운데에있는 더하기 기호를 클릭하십시오.
- win7이라는 가상 머신을 추가하고 유형은 raw이고 마침을 클릭 한 다음 창을 닫습니다.
- QEMU를 마우스 오른쪽 버튼으로 클릭하고 새로 만들기를 클릭합니다.
- 로컬 설치 매체 (첫 번째 매체)를 선택하고 앞으로 클릭하십시오.
- 찾아보기를 클릭하고 생성 된 ISO 스토리지 볼륨을 클릭하고 win7 이미지를 선택합니다.
- 앞으로 클릭
- 메모리로 1024를 선택하고 CPU로 1을 선택한 다음 앞으로 클릭
- 생성 된 KVM 스토리지 볼륨을 선택하고 win7.img를 선택합니다.
- 앞으로 클릭
- "설치 전 구성 사용자 지정"을 선택하고 마침을 클릭합니다.
- 필요에 따라 팝업 창에서 구성 할 수 있습니다.
- 마지막으로 응용 프로그램을 클릭하고 클릭하여 설치를 시작하십시오.
- 이때 가상 머신이 설치되고 KVM 가상 머신 서비스가 빌드되었습니다.
네, KVM 가상 머신 관리
- 방법 1 : 그래픽 관리를 직접 사용
- 방법 2 : KVM 명령 세트 관리 사용
******KVM基本功能管理
帮助————virsh -h
现实配置文档位置————ls /etc/libvirt/qemu/
查看虚拟机状态————virsh list --all
关机————virsh shutdown *虚拟机名称*
开机————virsh start *虚拟机名称*
关闭电源————virsh destory *虚拟机名称*
通过配置文件启动虚拟机————virsh create /etc/libvirt/qemu/*后缀是.xml的虚拟机文件名*
挂起————virsh suspend *虚拟机名称*
恢复————virsh resume *虚拟机名称*
自动随宿主机一起启动(开机自启)—————virsh autostart *虚拟机名称*
导出虚拟机配置————virsh dumpxml *虚拟机名称* > /etc/libvirt/qemu/*后缀是.xml的新的虚拟机文件名*
删除虚拟机————virsh undefine *虚拟机名称*
通过备份的配置文件重新定义虚拟机————virsh define *后缀是.xml的虚拟机文件名*
编辑配置文档————两种方法:(1)vim /etc/libvirt/qemu/*后缀是.xml的虚拟机文件*
(2)virsh edit *虚拟机名称*
******KVM文件管理
可以使用yum先安装工具————yum -y install libguestfs-tools
查看当前磁盘格式————qemu-img info /data_kvm/store/*后缀为.img的虚拟机磁盘文件*
转换磁盘格式————qemu-img convert -f raw -O qcow2 /data_kvm/store/*后缀为.img的虚拟机磁盘文件* /data_kvm/store/*后缀为.img的新的虚拟机磁盘文件*
******虚拟机克隆
克隆001主机到002————virt-clone -o 001 -n 002 -f /data_kvm/store/002.qcow2
******虚拟机快照
KVM虚拟机使用镜像功能,磁盘格式必须为qcow2
创建虚拟机快照————virsh snapshot-create *虚拟机名称*
查看快照版本信息————virsh snapshot-current *虚拟机名称*
查看快照信息————cirsh snapshot-list *虚拟机名称*
恢复快照到指定位置————virsh snapshot-revert *虚拟机名称* *快照名称*
删除快照————virsh snapshot-delete *虚拟机名称* *快照名称*
两种都可以使用,个人感觉图形化方便点,看个人喜好了