최근들어 arm64 아키텍쳐가 인기가 많아졌다. 애플의 실리콘 반도체라고 불리는것도 arm64 기반이며 Windows 11 도 arm64 에서도 작동된다. 리눅스는 오래전부터 다양한 아키텍쳐로 포팅이되었기 때문에 arm64 를 위한 배포판도 다양하게 존재한다. 문제는 arm64 아키텍쳐를 경험하기 위해서 arm64 하드웨어가 있어야 했지만, 이제는 x86_64 기반의 가상머신을 이용하면 arm64 아키텍쳐를 게스트로 운영할 수 있다. 이 문서는 x86_64 기반 가상머신에서 arm64 아키텍쳐기반의 게스트를 실행하는 방법에 대해서 기술한 것이다. x86_64 가상머신 x86_64 아키텍쳐 기반의 가상머신으로 리눅스 운영체제를 기반으로 KVM 을 활용하고 있다. GUI 툴로서 virt-manager, CLI 로는 […]
VMWare,VirtualBox VM 이미지를 KVM 이미지로 변경하기
프로젝트를 하다보니 윈도우즈 시스템을 사용하고 있는 가운데, 리눅스 머신이 필요하게 되어서 vmplayer 를 이용해 가상머신으로서 리눅스를 테스트 용도로 설치해 사용하고 있었다. 이제 프로젝트도 전부 끝나게 되어서 노트북에 설치한 이 VMPlayer 의 OS 를 KVM 시스템으로 옮기 싶었다. 어떻게 VMWare, VirtualBox VM 이미지를 KVM 이미지로 바꿀 수 있을까 싶어 자료 조사를 하고 KVM 시스템으로 옮길 수 있었다. 이에 대한 내용을 정리한다. qemu-img VMPlayer 는 무료 소프트웨어이기 때문에 이미지 변경에 대한 툴을 제공하지 않는다. 이 경우에 KVM 리눅스 머신이 존재한다면 VMPlayer 의 […]
KVM Image 용량 증설하기
KVM 가상화를 운영하고 있는데, 운영중인 VM 하나가 용량이 부족해지는 상황이 발생했다. KVM 가상화 VM 의 용량은 결국 이미지 파일 한개임으로 이 이미지 파일의 용량을 늘려주면 VM 의 용량이 사실상 늘어나는 것으로 생각했다. 하지만 현시점(2023) 에서 검색을 해보니 다양한 방법들이 존재했다. 그 중에는 VM 이미지를 로컬에 마운트해서 늘려주는 방법도 존재했지만 너무나 복잡해 보였다. 좀 더 쉬운 방법이 없을까 해서 검색한 결과 가장 쉬워보이는 것을 발견했고 이 방법으로 손쉽게 VM 용량을 늘리는데 성공했다. VM 상태 용량을 늘리려는 VM 의 상태는 다음과 같다. […]
virsh 를 통해 Ubuntu 20.04 에 console 로 접속하는 방법
KVM 가상화 시스템에서 virsh 를 통해 Ubuntu Guest OS에 Console 로 접속하는 방법은 다양한데 대부분 grub 부팅 옵션을 손보는 것이 였다. 하지만 Ubuntu 20.04 로 넘어오면서 이 방법이 훨씬 간단해 졌다. 먼저 Ubuntu 20.04 Guest 에 접속한 후에 다음과 같이 입력 하면 끝난다.
1 2 |
$ sudo systemctl enable serial-getty@ttyS0.service $ sudo systemctl start serial-getty@ttyS0.service |
이렇게 한 후에 KVM 시스템에서 console 접속을 하면 접속이 잘된다.
1 2 3 4 5 |
$ virsh console ubuntu20.04 Connected to domain ubuntu20.04 Escape character is ^] systemv login: |
이 방법은 18.04 에서도 가능하다.
UBUNTU 18.04 KVM 게스트에 콘솔 접속하기
KVM 가상화를 사용하고 있고 게스트로 Ubuntu18.04 를 사용하고 있다면 콘솔 접속을 위해서는 다음과 같이 해주어야 한다. /etc/default/grub 편집 grub 에서 ttyS0 에 콘솔 접속이 되도록 다음과 같이 편집해 준다. 위와같이 편집을 한 후에 grub 을 다시 작성해준다. 위와같이 설정을 하고 재부팅을 한 후에 KVM 콘솔 접속을 하면 아주 잘 된다.
UBUNTU 14.04 KVM 게스트에 콘솔 접속하기
KVM 가상화를 사용하고 있고 게스트로 Ubuntu14.04 를 사용하고 있다면 콘솔 접속을 위해서는 다음과 같이 해주어야 한다. ttyS0 터미널 설정 KVM 게스트인 Ubuntu14.04 에 콘솔로 접속하기 위해서는 게스트 Ubuntu14.04 에 ttyS0 터미널로 접속을 해야 한다. 그런데 Ubuntu 14.04 에는 ttyS0 터미널 설정이 되어 있지 않아 이를 설정을 해야 한다. /etc/init/ttyS0.conf 파일을 다음과 같이 생성한다.
1 2 3 4 5 6 7 8 9 10 |
# ttyS0 - getty # # This service maintains a getty on ttyS0 from the point the system is # started until it is shut down again. start on stopped rc RUNLEVEL=[2345] stop on runlevel [!2345] respawn exec /sbin/getty -L 115200 ttyS0 xterm |
그리고 다음과 같이 /etc/securetty 파일에 ttyS0 를 추가 해준다.
1 |
ttyS0 |
/etc/default/grub 편집 이제 grub 에서 ttyS0 이 콘솔 접속이 되도록 다음과 같이 편접해 준다. […]
KVM에 Bridge Network 설정
CentOS 6 에는 가상화로 KVM만 지원합니다. Xen은 빼버렸습니다. 가상화로 KVM을 하게되면 사용할 수 있게됩니다. 그런데, KVM을 활성화하게 되면 virbr0 라는 가상의 이더넷이 생성이되는데 이것이 NAT로 동작하게 됩니다. 그러니까 KVM의 게스트들은 virbr0 의 NAT를 이용해서 인터넷을 하게 되는 것입니다. 그런데 제가 집에서 사용하는 인터넷 사용환경은 공유기를 이용해서 각 피시에서 private ip 주소를 할당해서 사용합니다. 그래서 KVM의 게스트들도 직접 공유기로 부터 private ip 주소를 할당 받기를 원했습니다. 그렇게 하기위해서는 virbr0 를 NAT를 정지시키고 br0 을 만들어서 eth0와 br0를 Bridged 시키면 됩니다. 이 […]
Ubuntu 16.04 KVM 게스트에 콘솔 접속하기
KVM 가상화를 사용하고 있고 게스트로 Ubuntu16.04 를 사용하고 있다면 콘솔 접속을 위해서는 Grub2 설정을 다음과 같이 해주면 된다.
1 2 3 4 |
GRUB_CMDLINE_LINUX_DEFAULT="console=ttyS0" GRUB_TERMINAL=serial GRUB_SERIAL_COMMAND="serial --unit=0 --speed=115200 --stop=1" |
위와같이 해주고 다음과 같이 grub 을 갱신해준다.
1 |
update-grub |
가상 Guest 이미지 마운팅
가상 Guest OS의 이미지를 마운트하는 법을 설명합니다. 이미지 마운트에는 두가지 방법이 있습니다. 첫번째방법 1.Guest OS 이미지에 파티션으로부터 디바이스 맵(Device Map)을 생성합니다.
1 2 3 |
]# kpartx -av /mnt/xen/images/test01_centos5_4_x64.img add map loop0p1 : 0 208782 linear /dev/loop0 63 add map loop0p2 : 0 10265535 linear /dev/loop0 208845 |
2.볼륨(Volume) 그룹을 스캔합니다.
1 2 3 |
]# vgscan Reading all physical volumes. This may take a while... Found volume group "VolGroup00" using metadata type lvm2 |
이렇게 볼륨이 잡히면 이 방법은 유효합니다. 그렇지 않으면 두번째 방법을 사용해야 합니다. 3.볼륨(volume) 그룹의 속성을 바꿉니다.
1 2 |
]# vgchange -ay VolGroup00 2 logical volume(s) in volume group "VolGroup00" now active |
볼륨의 상태를 확인합니다.
1 2 3 4 |
]# lvs LV VG Attr LSize Origin Snap% Move Log Copy% Convert LogVol00 VolGroup00 -wi-a- 3.84G LogVol01 VolGroup00 -wi-a- 1.03G |
4.이제 볼륨을 마운팅하면 됩니다.
1 |
]# mount /dev/VolGroup00/LogVol00 /opt/ |
이렇게 마운트가 되면 마운트 포인터(Mount Point)를 통해서 접근할 수 있습니다. 언마운트(Umount)는 다음과 같이 합니다. 5.언마운트(Unmount) 합니다.
1 |
]# umount /opt |
6.볼륨속성을 바꿉니다.
1 2 |
]# vgchange -an VolGroup00 0 logical volume(s) in volume group "VolGroup00" now active |
7.디바이스 맵을 지웁니다.
1 2 |
]# kpartx -d /mnt/xen/images/test01_centos5_4_x64.img loop deleted : /dev/loop0 |
두번째 방법 두번째 방법은 위의 […]
KVM Ubuntu 가상머신에 콘솔 접속하기
Ubuntu 를 KVM 가상머신으로 설치를 했다면 콘솔 접속을 해보면 안됩니다. 지난번에 CentOS6/7 배포판에서의 가상머신 콘솔접속에 대해서 다루어 었는데, Ubuntu 는 이들과 조금 다르기에 포스팅 해봅니다. 이 글은 ubuntu 14.04 를 대상으로 합니다. 처음 Ubuntu 를 KVM 가상머신으로 설치를 했다면 SSH 나 Virt-manager 나 vnc 를 이용해서 접속을 해야만 합니다. 그래야 콘솔접속을 위한 설정을 해볼 수 있습니다. GRUB 설정 공통 Grub 설정은 /etc/default/grub 에 있습니다. 다음과 같이 설정을 해줍니다.
1 |
GRUB_CMDLINE_LINUX_DEFAULT="console=ttyS0,38400n8 console=tty0" |
그리고 다음과 같이 업데이트를 해줍니다.
1 2 3 |
]# ## 둘중 하나만 해주면 됩니다. ]# update-grub ]# grub-mkconfig -o /boot/grub/grub.cfg |
Serial 콘솔 만들기 다음과 같이 […]