운영체제/RHEL&CENTOS

[Linux] KVM(for Kernel-based Virtual Machine) (2) - CLI 배포

louky 2019. 6. 24. 18:01
반응형

Linux KVM CLI환경에서 VM을 생성/배포 하는 방법이다. 

 

먼저 사용할 IMG를 다운로드 받기전 KVM에서 사용할 Directory를 생성한다.

[root@cronus ~]# mkdir /var/kvmimg
[root@cronus ~]# chown -R qemu.qemu /var/kvmimg

필자는 /var/kvmimg 하위에 사용할  OS IMG와 생성되는 VM의 PATH로 통합 설정 하였다. 

 

먼저 wget으로 Centos 최신 버전을 다운로드한다. (wget명령어가 없을 경우  "yum install wget"으로 설치 한다. )

[root@cronus /var/kvmimg]# wget http://mirror.kakao.com/centos/7.6.1810/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso

 

virt-install 이라는 명령어를 통해 VM을 생성한다. 

[root@cronus kvmimg]# VM_CREATE_PATH="/var/kvmimg"
[root@cronus kvmimg]# IMG_PATH="/root/KVM/os_img"
[root@cronus kvmimg]# VM_NAME="cluster02"
[root@cronus kvmimg]#
[root@cronus kvmimg]# virt-install \
 --name ${VM_NAME} \
 --ram 4096 \
 --disk path=${VM_CREATE_PATH}/${VM_NAME}.img,size=20 \
 --vcpus 2 \
 --os-type linux \
 --os-variant  centos7.0 \
 --network bridge=br0 \
 --graphics none \
 --console pty,target_type=serial \
 --extra-args 'console=ttyS0,115200n8 serial' \
 --location "${VM_CREATE_PATH}/CentOS-7-x86_64-DVD-1810.iso"

virt-install opention 

--name VM Name
--ram Memory size Mbyte단위
--disk VM이 생성되는 이미지 파일 위치 및 사이즈 (여기서 사이즈는 VM의 Disk 사이즈임)
--vcpus VM이 사용할 cpu(core) 갯수
--os-type OS  타입  window, linux
--os-variant 게스트를 설치 중인 OS 변수, OS 종류 centos7.0 , rhel7 등 (정보 확인은  "osinfo-query os" 통해 확인)
--network Bridge interface 또는 Vm 사용할 인터페이스 나 네트워크 정보 "virt-install --network help" 로 자세한 정보 확인 가능 
--graphics GUI 옵션으로 CLI작업시에는 보통 none으로 설정 
--console 호스트 머신과 게스트 머신 사이의 console  연결 설정 
--extra-args --location에서 부팅된 설치 커널에 전달할 추가 인수
--location 설치할 O, 즉 소스 이미지 위치와 이름 
--noautoconsole 게스트 콘솔에 자동으로 연결하지 마십시오.
--noreboot
설치를 완료한 후 게스트를 부팅하지 마십시오.

추가적인 옵션은 " virt-install --help "   또는" man virt-install "를 통해 확인한다. 

 

생성된  VM 리스트 확인 방법

[root@cronus kvmimg]# virsh list
 Id    이름                         상태
----------------------------------------------------
 8     centos7.6                      실행중
 10    cluster01                      실행중
 12    cluster02                      실행중

 console  접속 및 빠저나오기 

  •  해당  VM의 Console에 접속하고자 할 경우 => virsh console  vm_name 
  • console로 접속된  vm에서 호스트 머신으로 빠져나오고자 할 경우  => ctrl + ] 
[root@cronus kvmimg]# virsh console cluster01       ## VM console 접속 
도메인 cluster01에 연결되었습니다
Escape character is ^]

CentOS Linux 7 (Core)
Kernel 3.10.0-957.el7.x86_64 on an x86_64

cluster01 login: root
암호:
Last login: Mon Jun 24 17:29:17 on ttyS0
[root@cluster01 ~]# exit
logout

CentOS Linux 7 (Core)
Kernel 3.10.0-957.el7.x86_64 on an x86_64

cluster01 login:                ### 키보드의 Ctrl + ]  를  눌러 빠져나온다.
[root@cronus kvmimg]#

virsh command를 이용하여 생성된 vm들은 관리할 수 있다. 

 

반응형