kvm 1 / kvm 2 에서 확인
- ip 확인 및 www.google.com 으로 ping
storage
- ip addr show : ip addr list
- www.google.com 으로 ping
kvm 1 에서 확인
- kvm 2 와 storage 의 모든 ip 에 ping
KVM 과 Storage 사이의 연결은 Ip 를 통해 연결하므로, VMnet 10 을 사용할 수 도 있지만, 이는 중요한 Data 통신을 해야하므로, 외부에서 접근할 위험을 방지하고, 또한 VMnet 10 은 외부 사용자들도 사용하므로, 대역폭으로 인한 KVM 과 Storage 사이의 통신 오류를 방지하기 위해 독립적인 VMnet 1 을 사용하여 연결한다
SSH 연결은 172.16.2 대역을 통해 접속 해야 한다
- 중지는 지금 즉시 중지 시키는 것. 재부팅하면 다시 켜진다
- 비활성화는 재부팅시에도 중지되게 하는 것
- systemctl stop firewalld ; systemctl disable firewalld
- 우리는 서버를 관리하는 입장이므로, 이를 꺼주자
- systemctl stop NetworkManager ; systemctl disable NetworkManager
- KVM 에서 이미지의 기본 저장 경로는 /usr/lib/... 에 있다. 우리는 이를 외부에 있는 /cloud 를 사용해야 하므로, 별도의 디렉터리와의 mount 가 필요하다. 기본적으로 이러한 작업을 SElinux 는 차단한다. 따라서, 우리는 이를 꺼줘야 한다
- setenforce 0
- sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
kvm 1 과 kvm 2 의 인터넷에 연결되고, 공인 주소가 할당된 ens 32 의 이름을 eth 0 으로 바꿔주자
vi /etc/default/grub 을 열고 다음과 같이 수정하자
이는 bios 와 net 의 이름을 가지고, 자동으로 인터페이스의 이름을 설정하는 것 을 OFF 한 것 이다
위 디렉터리로 들어가 파일을 확인하고, 이름을 바꿔주자
확인까지 해주자
다음 파일을 편집기로 열어주자
- BOOTPROTO : 부팅시 자동으로 실행될 PROTOCOL
- UUID : 각 디바이스 별로 정해져있는 Unique 한 주소. UUID 를 지워도, 자동으로 생성되기에, 지우자
yum -y install libvirt qemu-kvm virt-install virt-manager openssh-askpass libguestfs-tools
- libvirt : KVM 데몬 ( 실제 이름은 libvirtd 이므로 systemctl start libvirtd 를 통해 시작한다 )
- qemu-kvm : vm 의 kernel 의 os 가 다르면, kvm 과 직접 통신이 안되므로, 이를 해석하는 기능이 필요하다. qemu-kvm 은 이 vm 의 kernel 과 host의 kernel 사이에 배치되어 둘 사이의 코드 변환을 해주는 모듈 이다
- virt-install : 가상 머신 설치를 위한 cli 도구. 이는 가상 shell 인 virsh 를 이용하여, KVM 에게 명령을 전달한다. 즉 ) virt-install -> virsh -> libvirtd 순으로 전달한다
- openssh-askpass : 독립적인 호스트에서는 필요하지 않다. 두 대 이상의 호스트가 연결되어 있고, 각 호스트에 있는 가상 머신을 타 호스트로 마이그레이션 하고자 하는 경우, 이를 승인하기 위한 도구가 필요하다. 이를 담당하는 것이 openssh-askpass 이다. 결국 vm 의 이동은 ssh 를 이용하는 것 이다
- libguestfs-tools : 일반적인 iso 파일을 이용하여 가상 머신을 설치하는 것이 아니라, virt-customize, virt-builder 를 이용하여 필요한 볼륨을 생성하고자 하는 경우, 기본 이미지에 대한 수정이 가능해야 하는데, 이를 담당하는 것이 libguests-tools 에 포함되어 있다. 여가에 virt-customize , virt-resize , virt-builder 와 같은 커스텀용 도구들이 포함되어 있다
아래의 과정을 각각 해주자
- nfs-utils 설치하기
- vi /etc/hosts 파일에 아래의 내용입력하기
172.16.1.101 kvm1
172.16.1.102 kvm2
172.16.1.100 storage- 로컬에 /remote 디렉토리 생성하기
- mount 를 이용하여 storage:/cloud 에 있는 디렉토리를 로컬의 /remote 에 마운트 시킨다.
- kvm1 에서 /remote 에 생성한 test.txt 파일을 kvm2 에서 ls /remote 했을 때 볼 수 있어야 한다
- 재부팅 이후에도 위에서 설정한 마운트 정보를 계속 유지되어야 한다!!
먼저, nfs-utils 를 설치하자
다음으로 hosts 파일을 수정하자
로컬에 remote 디렉터리를 생성하자
mount 시켜주자
txt 파일을 만들어서 잘 mount 됬는지 확인하자
이 mount 는 재부팅시 해제되므로, 부팅시 자동으로 mount 되게 설정하자
fstab 파일을 편집기로 열어주자
위와 같이 설정해주자
- 차례대로 마운트 해줄 곳, 마운트 할 곳, 타입, 속성, 파일 시스템 체크 여부, Dump 사용 여부 이다
감사합니다