OpenStack Nova를 위한 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,if=scsi,index=0 -boot d -net nic -net user -nographic -vnc :0
vncviewer로 안내 인터페이스에 로그인한 후 화면의 알림에 따라 ubuntu 설치 작업을 완료합니다. (자신의 컴퓨터에 ubuntu를 설치하는 과정과 같습니다.)주의해야 할 것은 섹션 단계에서 10GB 하드디스크를 모두 ext4 루트 섹션으로 나누는 것입니다. 여러 개의 섹션을 만들지 말고 swap 섹션을 만들지 마십시오.
$ vncviewer 172.16.39.111:5900
설치가 끝난 후 종료 (필요할 때kill에서kvm 프로세스를 떨어뜨리기) 다음 명령에 따라 설치된 가상 머신 이미지 ubuntu를 시작합니다.img, failed to find romfile "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 update
$ sudo 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-img create-f raw)를 ext4 렌즈로 변환해야 합니다.다음 단계에서는 미러 파일의 조닝(Zoning) 시작점이 어디에 있는지 확인합니다.
$ 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바이트이기 때문에 2048x512=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
새로 만든 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
다음에 가상 머신 이미지와 함께 OpenStack 클라우드에 발표할 수 있도록 메모리 디스크 (initrd) 파일을 복사합니다.가상 머신 미러를 사용한 후 마운트 해제(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
잠시 기다리면 아미-0000000 6 mybucket/ubuntutemplate가 나타납니다.img.manifest.xml은 우리가 방금 만든 ubuntu 렌즈가 클라우드에 정식으로 발표되었는데, 이후에 이 렌즈를 모델로 가상 기기의 실례를 신속하게 생성할 수 있음을 나타낸다.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 mycloud default
INSTANCE i-00000001 ami-00000003 scheduling mykey (mycloud, 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 mycloud 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:~$
Windows 가상 컴퓨터 렌즈를 만들고 싶다면 OpenStack Nova를 위한 Windows 렌즈를 만들어 보세요.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
KVM 인스턴스의 시작KVM 인스턴스를 Host OS에서 시작할 때 KVM 안의 가상 머신도 따라서 자동으로 시작되므로 우리의 인공적인 참여가 필요하지 않습니다. KVM 서버가 시작되거나 libvirtd가 다시 시작되면 KVM 가상 시스...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.