KVM 가상화 배포 Centos

가상화 기술

  • 가상화 기술 상을 통해 컴퓨터는 여러 논리 컴퓨터로 가상화되고 여러 논리 컴퓨터가 동시에 한 컴퓨터에서 실행됩니다. 각 논리 컴퓨터는 서로 다른 운영 체제를 실행할 수 있으며 응용 프로그램은 독립적 인 공간에서 실행할 수 있습니다. 서로 영향을 미치므로 컴퓨터의 효율성이 향상됩니다.

풍모:

1. 운영 체제 (win10)에서 여러 운영 체제 (centos, win10)를 시뮬레이션하고 여러 운영 체제 (centos, w10, suse)를 시뮬레이션합니다. 동시에 각 운영 체제는 서로 다른 서비스를 실행하여 호스트를 구축 할 수 있습니다. 클러스터 (전체에서)
2. 소프트웨어 / 애플리케이션을 통해 물리적 하드웨어의 기능 구현

(소프트웨어 리소스는 하드웨어 리소스만큼 높지 않습니다 (안정적이고 효율적))

가상화 기술 개발

  • 원기

1961 년 IBM 7O9 시스템은 CPU 점유를 여러 개의 매우 짧은 시간 조각 (1/100 초)으로 위장한 시간 공유 시스템을 구현했습니다. 각 시간 조각은 서로 다른 작업을 수행했습니다. 이러한 시간 조각을 폴링하여 하나의 CPU가 다중 CPu로 위장했습니다.
1972 년 IBM은 공식적으로 system370 시스템의 시분할 시스템을 가상 시스템으로 명명했습니다.
1990 년에 IBM에서 도입 한 system390 시스템은 논리적 파티셔닝을 지원합니다 (CPU는 서로 독립적 인 여러 복사본으로 분할, 즉 논리적 부서)
Xen은 2003 년에 호스트를 제어하고 여러 클라이언트에 리소스를 할당 할 수있는 외부 하이퍼 바이저 프로그램 (가상 머신 관리 프로그램)으로
출시되었습니다 . KVM : 2007 년에 출시되었으며 현재 커널 커널에 내장되었습니다.
Xen은 가상화 기술을 지원합니다. 전체 가상화, 반 가상화
KVM : 지원되는 가상화 기술 : 전체 가상화

가상화 유형

1. 전체 가상화 : 모든 물리적 하드웨어 리소스는 소프트웨어를 통해 추상화되고 마지막으로
** 사용 방법 : 하이퍼 바이저 (VMM) 소프트웨어 사용, 원칙은 기본 하드웨어와 서버 사이에 추상화 계층을 설정하고 코어 기반 가상 머신은 Linux 시스템 용 오픈 소스 제품 하이퍼 바이저 (VMM)로 CPU 명령을 캡처하고 하드웨어 컨트롤러 및 주변 장치에 액세스하기위한 명령의 중개자 역할을 할 수 있습니다.
2. 반 가상화 : 운영 체제 수정 필요
3. 패스 스루 : 물리적 하드웨어 리소스를 직접 사용 (지원 필요, 아직 완벽하지는 않음)

  • 특징 : 장점

① 중앙 집중식 관리 (원격 관리, 유지 관리)
② 하드웨어 활용도 향상 (피크, 가상화 등 물리적 리소스의 낮은 사용률로 "유휴"용량 해결)
③ 기계 / 리소스 구성의 동적 조정 (가상화는 애플리케이션을 변경하고 서비스 하드웨어를 분리하고 유연성을 향상)
④ 높은 신뢰성 (추가 기능 및 솔루션 배치 가능, 투명한로드 밸런싱, 마이그레이션, 복구 복제 등 애플리케이션 환경 개선 가능) '

  • 불리

① 높은 초기 단계 비용 (초기 하드웨어 지원)
② 하드웨어 사용률 감소 ((매우 리소스 집약적 인 애플리케이션과 같은 특정 시나리오는 가상화에 적합하지 않을 수 있음)
③ 더 큰 오류 영향 (로컬 물리적 머신 다운 기회로 인해 가상 머신을 사용할 수 없게 됨) 가상 머신의 파일) 손상 될 수 있습니다
④The 구현 구성이 복잡하고 관리가 어려움) 문제 해결, 관리 인력 운영 및 유지 보수 (복잡
⑤ 특정 제한 (가상화 기술이 지원 / 호환 가상화와 호환되어야합니다 여러 가지 제한 사항을 포함한다
( 결합 서버, 애플리케이션 및 공급 업체 사용) ⑥ 보안 (가상화 기술 자체의 보안 위험)

  • 가상화 전

① 각 호스트에 운영 체제가 있습니다.
② 소프트웨어와 하드웨어가 밀접하게 통합되어 있습니다.
③ 동일한 호스트에서 여러 응용 프로그램을 실행하면 일반적으로 충돌이 발생합니다.
④ 시스템 리소스 사용률이 낮습니다 (예 : 5 %).
⑤ 하드웨어 비용이 높고 유연하지 않습니다.

  • 가상화 후

① 운영체제와 하드웨어의 상호 의존성 해소 ②
가상 머신을 캡슐화하는 기술을 통해 운영체제 와 응용 프로그램을 하나의 개인으로 관리
③ 강력한 보안 및 장애 격리
④ 가상 머신은 하드웨어와 무관하며 어떠한 하드웨어에서도 실행 가능

  • 비교 :

운영 체제 (가상화 전) :
LAMP 아키텍처 (호스트에 의해 구현 됨)
LINUX + Apache + MySQL + PHP,
여기서 Apache 및 MySQL 리소스가 공유됩니다.
아키텍처가 서비스간에 높은 보안 격리를 요구하는 경우 Apache 페이지 MySQL 데이터베이스와 MySQL 데이터베이스는 서로 만날 수 없어야합니다. Apache 취약점이 노출되면 공격자는 Apache 프로세스를 통해 MySQL 데이터 디렉토리에 액세스하여 MySQL에서 데이터를 얻을 수 있습니다. 이는 심각한 보안 위험이며 해결하고자합니다. 커널 수준 격리 (가상화 기술 사용)를 통해 잠재적 인 위험을 달성 할 수 있습니다.

  • 소프트웨어와 하드웨어의 결합

하드웨어와 운영 체제가 호환되지 않거나 지원하지 않기 때문에 일부 소프트웨어 및 하드웨어 기능을 사용할 수 없으며 (가장 어려운 문제) 일반적인
가상화 사용은 소프트웨어와 하드웨어간에 가상화를 통해 분리 (배포)하도록 유도합니다. 층은
한 가상화 계층은 소프트웨어 / 하드웨어 응용 프로그램을 식별 할 수 있으며, 소프트웨어 및 하드웨어를 결합 할 수 있습니다로
. 동일한 호스트에 여러 응용 프로그램을 실행 일반적으로 충돌이 발생합니다.
아파치와 Nginx에이 같은 위치 (포트 80)를 가지고 있고
단지로 구분 될 수있다 역방향 프록시. 동시에 같은 컴퓨터에서이 방법을 사용하면 Apache와 Nginx의 중요한 데이터 파일이 동시에 유출되면 ... 가상화는 서비스를 격리시킬 수 있습니다.

KVM 소개 :

  • KVM-커널 기반 가상 머신

KVM은 가상화 된 확장 X86 하드웨어 (Intel-VT-x 또는 AMD-V를 지원하려면 CPU가 필요함)를 기반으로하는 오픈 소스 Linux 기본 전체 가상화 솔루션입니다. KVM은 커널 모듈에 내장되어 가상 머신 작동을 지원하는 프로세서 및 메모리를 시뮬레이션합니다
. 가상 머신은 표준 Linux 스케줄러에 의해 예약 된
일반 Linux 프로세스로 구현됩니다. 가상 머신의 각 가상 CPU는 일반 Linux 프로세스로 구현됩니다. 이를 통해 KMV는 Linux 커널의 기존 기능을 사용할 수
있지만 KVM 자체는 시뮬레이션을 수행하지 않습니다. 클라이언트 공간 프로그램 (가상 머신)은 / dev / kym (이 가상 장치는 하드웨어 지원 가상화를 켜야 함) 인터페이스를 통해 클라이언트 가상 서버의 주소 공간을 설정하는 데 필요하며 Qemu 시뮬레이션 I에서 수행합니다. / O (ioctl) 리소스 예약 및 유지 관리
Libvirt : KVM 관리 도구는 KVM과 같은 VMM을 관리하는 것 외에도 Xen, VirtualBox를 관리 할 수 ​​있으며 기본 OpenStack Libvirt에는 백그라운드 데몬 프로그램 libvirtd, API 라이브러리 , 명령 줄 도구 virsh

  • KVM 아키텍처 및 원리

1. 게스트 모드 (guestOS) : VM의 OS는 GuestOs
클라이언트가 운영 체제에서 실행 되는 모드입니다 . 게스트는 커널 모드와 사용자 모드로 구분됩니다. 기능은 다음과 같습니다. 2. 사용자 모드 :
사용자에게 가상 머신 관리를 제공합니다. 사용자를 대신하여 공간 도구 및 I / O를 수행합니다. Qemu는이 모드 (Qemu의 주요 기능)에서 작동합니다. 3. Linux 커널 모드는
CPU 및 메모리를 시뮬레이션하고 클라이언트 모드 전환을 실현하며 처리합니다. 클라이언트 모드가 시작되고 KVM이이 모드에서 실행됩니다.

kvm 프로젝트



[root@glt7 ~]# cd /etc/yum.repos.d/
[root@glt7 yum.repos.d]# mkdir bak
[root@glt7 yum.repos.d]# mv * bak
mv: 无法将目录"bak" 移动至自身的子目录"bak/bak"[root@glt7 yum.repos.d]# ll
总用量 0
drwxr-xr-x. 3 root root 38 112 08:45 bak
[root@glt7 yum.repos.d]# vim abc.repo
[abc]
name=test
baseurl=file:///mnt
enabled=1
gpgcheck=0
~                                                                      
~    
[root@glt7 yum.repos.d]# yum clean all
[root@glt7 yum.repos.d]# mount /dev/sr0 /mnt
[root@glt7 yum.repos.d]# yum makecache 
  • 방화벽 끄기
[root@glt7 yum.repos.d]# systemctl stop firewalld
[root@glt7 yum.repos.d]# setenforce 0
[root@glt7 yum.repos.d]# systemctl disable firewalld
[root@glt7 yum.repos.d]# vim /etc/selinux/config 

          SELINUX=disabled
[root@glt7 yum.repos.d]# init 6
 

yum 패키지 설치

# yum groupinstall -y "GNOME Desktop"  '//安装 GNOME 桌面环境  如果装了图形界面不需要装了'
# yum -y install qemu-kvm  '//安装KVM 模块'
# yum -y install qemu-kvm-tools    '// KVM 调试工具,可不安装'
# yum -y install virt-install      '//构建虚拟机的命令行工具'
# yum -y install qemu-img     '//qemu 组件,创建磁盘、 启动虚拟机等'
# yum -y install bridge-utils   '//网络支持工具'
# yum -y install libvirt   '//虚拟机管理工具'
#yum -y install virt-manager   '//图形界面管理虚拟机'
# reboot	'//重启'

[root@glt7 ~]# ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target#将 系 统 的 默 认 运 行 target 更 改 为graphical.targe。 重启后系统将进入图形化界面。
[root@glt7 ~]# lsmod | grep kvm  '//查看KVM模块是否安装'
kvm_intel             170086  0 
kvm                   566340  1 kvm_intel
irqbypass              13503  1 kvm
[root@glt7 ~]# cat /proc/cpuinfo | grep vmx # 查看CPU是否支持虚拟化 将会出现包含一串字母 带其中有红色的vmx
[root@glt7 ~]# systemctl start libvirtd #开启libvirtd服务
[root@glt7 ~]# systemctl enable libvirtd #开机启动libvirtd服务

네트워크 카드 수정


[root@glt7 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
#IPADDR=20.0.0.16
#NETMASK=255.255.255.0
#GATEWAY=20.0.0.2
#DNS=20.0.0.2
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=ens33
UUID=ee1c9b8b-e532-43a6-afb5-fee05d5dea35
DEVICE=ens33
ONBOOT=yes
BRIDGE=br0  '//注释掉原本的IP地址,添加此处'

新建桥接网卡

[root@glt7 ~]# vim /etc/sysconfig/network-scripts/ifcfg-br0

TYPE=Bridge
OTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=br0
DEVICE=br0
ONBOOT=yes
IPADDR=20.0.0.16
NETMASK=255.255.255.0
GATEWAY=20.0.0.2

 [root@glt7 ~]# systemctl restart network
[root@glt7 ~]# mkdir -p /data_kvm/iso 
[root@glt7 ~]# mkdir -p /data_kvm/stor		  
[root@glt7 ~]# cd /data_kvm/iso/

여기에 사진 설명 삽입
[root @ glt7 iso] # virt-manager
여기에 사진 설명 삽입
여기에 사진 설명 삽입
여기에 사진 설명 삽입
여기에 사진 설명 삽입
여기에 사진 설명 삽입
여기에 사진 설명 삽입
여기에 사진 설명 삽입
여기에 사진 설명 삽입
여기에 사진 설명 삽입
여기에 사진 설명 삽입
여기에 사진 설명 삽입

추천

출처blog.csdn.net/weixin_50346902/article/details/112464427