[zz] OpenStack Nova용 Ubuntu 미러링

8231 단어 openstack
최근에 매우 바빠서 Mesh Potato 프로젝트 괴롭힘을 당하면 안 된다. 어떤 물건에'분포식, 집단'이 묻기만 하면 일이 유난히 복잡해진다. 한 대Asterisk 서버에서 VoIP 수행는 쉽고 n대의 Asterisk 서버는 집단을 만드는 것은 쉽지 않다.Xen/KVM 서버 한 대가 가상 머신을 만드는 것은 쉬우나, n대 Xen/KVM 서버가 클라우드 컴퓨팅을 하는 것은 그리 쉽지 않다.지난주에 우리는 Ubuntu에서 OpenStack Nova 설치 및 구성를 소개했는데, 오늘은 OpenStack Nova 환경에서 가상 머신 템플릿 (미러링) 을 만드는 방법과 가상 머신 실행 실례 (Ubuntu를 예로 들면) 를 더욱 소개한다.우리가 평소에 말하는'VMware/Xen/KVM/VirtualBox 가상 머신'과 구분하기 위해 VPSee는 여기서 OpenStack Nova, OpenNebula 같은 클라우드 컴퓨팅 플랫폼에서 실행되는 가상 머신을'클라우드 가상 머신'이라고 부른다.간단하게 말하면 OpenStack Nova 플랫폼에서 ubuntu 가상 머신을 실행하는 절차는 먼저 ubuntu 가상 머신 이미지 (템플릿) 를 만든 다음에 이 이미지를 모델로 ubuntu 가상 머신 (실례) 을 만드는 것이다.

Ubuntu 미러 설치


먼저 설치할 ubuntu 버전을 다운로드합니다.
$ wget http://releases.ubuntu.com/lucid/ubuntu-10.04.2-server-amd64.iso

10GB 크기의 하드 드라이브 만들기(raw 형식):
$ kvm-img create -f raw ubuntu.img 10G
Formatting 'ubuntu.img', fmt=raw size=10737418240

방금 다운로드한 ubuntu "설치 디스크"와 새로 만든 "하드디스크"부트 시스템을 사용합니다. 간단하게 말하자면 VPSee는 여기서 kvm 가상 기술을 사용하여 xen의 번거로운 설정을 피합니다.vnc 매개 변수는 다른 기계로 이 안내 인터페이스에 원격으로 로그인하여 설치 작업을 할 수 있도록 vnc 접근을 여는 것을 의미합니다.
$ sudo kvm -m 512 -cdrom ubuntu-10.04.2-server-amd64.iso \
-drive file=ubuntu.img -boot d -nographic -vnc :0

vncviewer로 안내 인터페이스에 로그인한 후 화면의 알림에 따라 ubuntu의 설치 작업을 완성합니다. (자기 컴퓨터에 ubuntu를 설치하는 과정과 같습니다.)주의해야 할 것은 구역 단계에서 10GB 하드디스크를 모두 ext4 루트 구역으로 나누고, 여러 구역을 만들지 말고, swap 구역을 만들지 말라는 것이다.
$ vncviewer 172.16.39.111:5900

설치가 끝난 후 종료(필요할 때kill에서 kvm 프로세스를 제거합니다), 아래 명령에 따라 방금 설치된 가상 컴퓨터 렌즈 ubuntu를 시작합니다.img, failed to findromfile "pxe-rtf8139.bin"오류 알림이 나타나면 kvm-pxe 설치를 통해 해결할 수 있습니다.
$ sudo kvm -m 512 -drive file=ubuntu.img -boot c -nographic -vnc :0
kvm: pci_add_option_rom: failed to find romfile "pxe-rtl8139.bin"

$ sudo apt-get install kvm-pxe

가상 머신 미러에 다시 vnc로 로그인하여 필요한 도구를 설치하십시오. (이 미러는 템플릿이 될 것이기 때문에 가장 간단하고 최소화하며 물건을 함부로 설치하지 않는 것이 좋습니다.
$ vncviewer 172.16.39.111:5900

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install openssh-server cloud-init

70-persistent-net.rules는 다른 네트워크 인터페이스를 자동으로 추가합니다. 이 파일을 삭제하여eth0을 제외한 인터페이스를 자동으로 추가하지 않도록 해야 합니다.삭제 후 시스템이 기본적으로 준비되어 가상 시스템을 종료합니다.
$ sudo rm -rf /etc/udev/rules.d/70-persistent-net.rules

$ sudo shutdown -h now

Ubuntu 미러 조정


OpenStack은 ext4 파일 시스템 형식의 거울만 허용하기 때문에 위에서 만든raw 거울(kvm-imgcreate-f raw)을 ext4 거울로 변환해야 합니다.다음 단계에서는 미러 파일 내의 파티션 시작점이 어디에서 시작되었는지 확인합니다.
$ sudo losetup -f ubuntu.img
$ sudo losetup -a
/dev/loop0: [fb00]:24117291 (/home/vpsee/ubuntu.img)

$ sudo fdisk -cul /dev/loop0

Disk /dev/loop0: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders, total 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000502e6

      Device Boot      Start         End      Blocks   Id  System
/dev/loop0p1   *        2048    20969471    10483712   83  Linux

위의 마지막 줄은 섹션 (sector) 2048에서 시작되었습니다. 각 섹션은 512바이트이기 때문에 2048 x 512 = 1048576바이트에서 시작됩니다.이 1048576을 기억하세요. 아래에서 사용할 수 있습니다.
loop을 제거한 후 1048576바이트부터 다시 마운트합니다.
$ sudo losetup -d /dev/loop0

$ sudo losetup -f -o 1048576 ubuntu.img
$ sudo losetup -a
/dev/loop0: [fb00]:24117291 (/home/vpsee/ubuntu.img), offset 1048576

이 전체 구역을 새 파일로 복사하는 것은 우리가 필요로 하는 ext4 파일 시스템 거울입니다.
$ sudo dd if=/dev/loop0 of=ubuntutemplate.img
20969472+0 records in
20969472+0 records out
10736369664 bytes (11 GB) copied, 107.455 s, 99.9 MB/s

loop을 사용한 후 제거해야 합니다.
$ sudo losetup -d /dev/loop0

마운트(mount)에서 새로 만든 ext4 파일 시스템 이미지를 마운트하고 섹션 마운트 테이블(/etc/fstab)을 수정하고 UUID=uec-rootfs 줄에 주석을 달거나 삭제합니다.
$ sudo mount -o loop ubuntutemplate.img /mnt

$ sudo vi /mnt/etc/fstab
#UUID=1dc3a59e-faab-41ee-b232-3300163676bf / ext4 errors=remount-ro 0 1
UUID=uec-rootfs                           / ext4 defaults          0 0

VM 미러와 함께 OpenStack 클라우드에 게시할 수 있도록 코어 (vmlinuz) 와 메모리 디스크 (initrd) 파일을 복사합니다.VM 미러링을 사용한 후 제거(unmount)해야 합니다.
$ sudo cp /mnt/boot/vmlinuz-2.6.32-28-server /home/vpsee/
$ sudo cp /mnt/boot/initrd.img-2.6.32-28-server /home/vpsee/

$ sudo umount /mnt

방금 가상 머신을 ubuntutemplate로 미러링합니다.img의 파일 시스템 로고를'uec-rootfs'로 변경합니다.
$ sudo tune2fs -L uec-rootfs ubuntutemplate.img
tune2fs 1.41.14 (22-Dec-2010)

Ubuntu 미러링 게시


자, ubuntu 렌즈가 완성되었습니다. 이제 클라우드에 발표할 수 있습니다. 3개의 물건이 필요합니다. 가상 컴퓨터의 핵 파일, 가상 컴퓨터의 메모리 디스크 파일과 가상 컴퓨터 렌즈 파일:
$ uec-publish-image -t image --kernel-file vmlinuz-2.6.32-28-server \
--ramdisk-file initrd.img-2.6.32-28-server amd64 ubuntutemplate.img mybucket
ami-00000006	mybucket/ubuntutemplate.img.manifest.xml

잠시 기다린 후ami-000006mybucket/ubuntutemplate가 나타납니다.img.manifest.xml은 우리가 방금 만든 ubuntu 렌즈가 클라우드에 정식으로 발표되었음을 나타낸다. 앞으로 이 렌즈를 모델로 가상 기기 실례 (instance) 를 신속하게 생성할 수 있다.euca-describe-images를 통해 다음을 확인할 수 있습니다.
$ euca-describe-images

IMAGE	aki-00000001	mybucket/vmlinuz-2.6.32-28-server.manifest.xml		availablpublic		x86_64	kernel
IMAGE	ari-00000002 	mybucket/initrd.img-2.6.32-28-server.manifest.xml		available	public		x86_64	ramdisk
IMAGE	ami-00000003	mybucket/ubuntutemplate.img.manifest.xml		untarring	public		x86_64	machine	aki-00000001	ari-00000002

첫 번째 Ubuntu VM 인스턴스


ubuntu 미러링 (템플릿) 이 있으면 이 "미러링"을 템플릿으로 클라우드 컴퓨팅 사용자를 위해 n개의 ubuntu 가상 머신 (운영체제) 실례를 만들 수 있지만, 실례를 실행하기 전에 키가 필요합니다.
$ euca-add-keypair mykey > mykey.priv
$ chmod 600 mykey.priv 

$ euca-describe-keypairs
KEYPAIR	mykey	76:7d:93:88:a0:e5:3e:5d:4b:62:cd:85:c5:23:7a:05

$ euca-run-instances -k mykey -t m1.tiny ami-00000003
RESERVATION	r-n0lpdme5	vpseecloud	default
INSTANCE	i-00000001	ami-00000003			scheduling	mykey (vpseecloud, None)	0		m1.tin2011-05-20T14:00:34Z	unknown zone

위의 euca-run-instances를 사용하여 실례를 만들면 nova-manage 명령으로 볼 수 있습니다.
$ sudo nova-manage vm list
instance   node            type       state      launched            image        kernel       ramdisk       project    user       zone       index
i-00000001 node01           launching  None                3            1            2             vpseecloud    vpsee       None       0

전편: Ubuntu에서 OpenStack Nova 설치 및 구성의 네트워크 창설 부분을 기억하십니까?현재 클라우드 내 IP 할당 상황을 볼 수 있습니다.
$ sudo nova-manage network list
network           	netmask        	start address  	DNS
192.168.3.0/25    	255.255.255.128	192.168.3.3    	None

방금 euca-run-instances로 시작된 ubuntu 가상 기기의 실례적인 IP는 192.168.3.3에서 시작되었기 때문에 ssh가 이 IP에 로그인하면 우리의 첫 번째 클라우드 가상 기기에 올랐다:)
$ ssh 192.168.3.3
vpsee@i-00000001:~$

CentOS 가상 머신 미러링을 만들려면 다음을 참조하십시오. OpenStack Nova용 CentOS 미러링 만들기;Windows 가상 머신 미러링을 만들려면 다음과 같이 하십시오. OpenStack Nova용 Windows 미러링.

좋은 웹페이지 즐겨찾기