詳細検索

PV 인스턴스를 HVM 인스턴스로 변환하기 (CentOS6)

아바타
글쓴이 inadat

PV 인스턴스를 HVM 인스턴스로 변환하기 (CentOS6)
日本語에서 번역 • 원문 보기

준비할 것들

(1) EC2 인스턴스(CentOS6)는 기존 실행 중인 인스턴스일 수 있습니다. (2) 변환이 이루어지는 루트 장치의 스냅샷 (3) EBS 볼륨 생성 (2) (SSD가 더 빠름) (3) 비어 있는 EBS 볼륨 (SSD가 더 빠름)

기기를 확인해 보세요

# fdisk -l |grep dev
디스크 /dev/xvda: 10.7 GB, 10737418240 바이트
디스크 /dev/xvdb: 4289 MB, 4289200128 바이트
디스크 /dev/xvdf: 10.7 GB, 10737418240 바이트 <-PV環境のRoot device
Disk /dev/xvdg: 10.7 GB, 10737418240 bytes <-空のEBS volume="" ```="" ##="" 作業開始="" 1.pvのdiskを縮小し、コピー容量を減らす="" ```="" 作業前の状態確認="" #="" mount="" ev/xvdf="" nt/="" #="" df="" -h="" ev/xvdf="" filesystem="" size="" used="" avail="" use%="" mounted="" on="" ev/xvdf="" 9.9g="" 2.3g="" 7.2g="" 24%="" nt="" #="" umount="" nt/="" 縮小化="" #="" e2fsck="" -f="" ev/xvdf="" #="" resize2fs="" -m="" ev/xvdf="" resize2fs="" 1.41.12="" (17-may-2010)="" resizing="" the="" filesystem="" on="" ev/xvdf="" to="" 598879="" (4k)="" blocks.="" the="" filesystem="" on="" ev/xvdf="" is="" now="" 598879="" blocks="" long.="" 作業後の状態確認="" #="" mount="" ev/xvdf="" nt/="" #="" df="" -h="" ev/xvdf="" filesystem="" size="" used="" avail="" use%="" mounted="" on="" ev/xvdf="" 2.3g="" 2.2g="" 0="" 100%="" nt="" #="" umount="" nt/="" ```=""> **참고:**
> 
> - 블록 크기(이번에는 블록 598879개) 기록 2. 새 디스크에 이미지를 생성하세요

이즈 /dev/xvd*

/dev/xvda /dev/xvda1 /dev/xvdb /dev/xvdf /dev/xvdg

분할 (한 줄)

파트드 /dev/xvdg --스크립트 'mklabel msdos mkpart primary 1M -1s print 종료'

확인해

이즈 /dev/xvd*

/dev/xvda /dev/xvda1 /dev/xvdb /dev/xvdf /dev/xvdg /dev/xvdg1

udevadm info --query=property --name=/dev/xvdg1

UDEV_LOG=3 DEVPATH=/devices/vbd-51808/block/xvdg/xvdg1 메이저=202 마이너=97 DEVNAME=/dev/xvdg1 DEVTYPE=파티션 SUBSYSTEM=블록 ID_PATH=xen-vbd-51808 ID_PART_TABLE_TYPE=dos LVM_SBIN_PATH=/sbin DEVLINKS=/dev/block/202:97 /dev/disk/by-path/xen-vbd-51808-part1


*parted가 하는 일은 다음과 같습니다. **위 파티션을 만들면 다음 작업을 할 필요가 없습니다**.

파트드 /dev/xvdg

(파방) 인쇄 모델: Xen 가상 블록 장치 (xvd) 디스크 /dev/xvdg: 10.7GB 섹터 크기(논리/물리): 512B/512B 파티션 테이블: msdos

번호 시작 끝 크기 유형 파일 시스템 플래그

(파고) mklabel MSDOS (갈라짐) 맥파트 파티션 유형? 프라이머리/확장? 프라이털 파일 시스템 유형? [ext2]? 시작? 1M 끝? -1 (파방) 인쇄 모델: Xen 가상 블록 장치 (xvd) 디스크 /dev/xvdg: 10.7GB 섹터 크기(논리/물리): 512B/512B 파티션 테이블: msdos

번호 시작 끝 크기 유형 파일 시스템 플래그 1 1049kB 10.7GB 10.7GB 기본 (헤어지며) 그만둬


/dev/xvdg1이 생성되었습니다. 만약 아니라면, 다음 프로그램을 실행하세요. 

파트프로브 /dev/xvdg

우데바드므 정착하라


3. 디스크 복사

dd if=/dev/xvdf of=/dev/xvdg1 bs=4K count=598879

598879+0 기록 598879+0 레코드 아웃 복사 2453008384바이트(2.5GB), 73.0507초, 33.6MB/s

상태 확인 복사

마운트 /dev/xvdg1 /mnt/

df -h /mnt/

파일 시스템 크기 사용 가능 사용% 마운트 /dev/xvdg1 2.3G 2.2G 0 100% /mnt

원래 크기로 복원

resize2fs /dev/xvdg1

연장되었는지 확인하세요

df -h /dev/xvdg1

파일 시스템 크기 사용 가능 사용% 마운트 /dev/xvdg1 9.9G 2.3G 7.2G 24% /mnt


> **참고:**
> 
> - 이제 위의 블록 크기를 사용합니다
> - 2.5GB, 1분 조금 넘게

 

4. 크루트 준비

이즈 -엘 /mnt/dev/

총 0 crw------- 1 root root 5, 2012년 3월 30일 콘솔 crw-rw-rw- 1 루트 1, 2012년 3월 30일 null crw-rw-rw- 1 어근 5, 0 2012년 3월 30일 tty crw-rw-rw- 1 어근 1, 2012년 3월 30일 5일 0

복사 장치

CP -a /dev/xvdg /dev/xvdg1 /mnt/dev/

이즈 -엘 /mnt/dev/

총 0 crw------- 1 root root 5, 2012년 3월 30일 콘솔 crw-rw-rw- 1 루트 1, 2012년 3월 30일 null crw-rw-rw- 1 어근 5, 0 2012년 3월 30일 tty brw-rw---- 1 root disk 202, 96 7월 11일 02:10 xvdg brw-rw---- 1 루트 디스크 202, 97 7월 11일 03:08 xvdg1 crw-rw-rw- 1 어근 1, 2012년 3월 30일 5일 0

프로시절 파일 생성

마운트 -T 발동 없음 /음 발동


5. HVM으로 다양한 설정을 설정하세요

크루트 /므네트

*아래에서 chroot와 작업 중입니다. (치루트)# 맛있는 리스트 그럽 grub.x86_64 1:0.97-83.el6 @base *포함되어 있지 않다면 설치하세요

(치루트)# 이즈 -l /boot/grub/grub.conf *링크가 없다면, 심볼릭링크를 생성하세요 (chroot)# in -s /boot/grub/menu.lst /boot/grub/grub.conf (치루트)# 이즈 -l /boot/grub/grub.conf lrwxrwxrwx 1 root root 2014년 7월 11일 19:19 13:47 /boot/grub/grub.conf -> /boot/grub/menu.lst

(chroot)# 이것 -l /etc/grub.conf *링크가 없다면, 심볼릭링크를 생성하세요 (chroot)# in -s /boot/grub/grub.conf /etc/grub.conf (chroot)# 이것 -l /etc/grub.conf lrwxrwxrwx 1 루트 루트 2014년 7월 11일 13:47 /etc/grub.conf -> /boot/grub/grub.conf

(chroot)# ls /mnt/boot/grub/stage *파일이 있다면 기존 파일을 삭제하세요. (chroot)# rm -f /mnt/boot/grub/stage

(chroot)# CP /mnt/usr//grub//stage /mnt/boot/grub/ (크루트)# 이스-l /mnt/부트/그럽/stage -rw-r--r-- 1 루트 루트 13380 7월 11일 03:09 /mnt/boot/grub/e2fs_stage1_5 -rw-r--r-- 1 루트 루트 12620 7월 11일 03:09 /mnt/boot/grub/fat_stage1_5 -rw-r--r-- 1 루트 루트 11748 7월 11일 03:09 /mnt/boot/grub/ffs_stage1_5 -rw-r--r-- 1 어루트 11756 7월 11일 03:09 /mnt/boot/grub/iso9660_stage1_5 -rw-r--r-- 1 루트 루트 13268 7월 11일 03:09 /mnt/boot/grub/jfs_stage1_5 -rw-r--r-- 1 루트 루트 11956 7월 11일 03:09 /mnt/boot/grub/minix_stage1_5 -rw-r--r-- 1 루트 루트 14412 7월 11일 03:09 /mnt/boot/grub/reiserfs_stage1_5 -rw-r--r-- 1 루트 루트 512 7월 11일 03:09 /mnt/boot/grub/stage1 -rw-r--r-- 1 루트 루트 126100 7월 11일 03:09 /mnt/boot/grub/stage2 -rw-r--r-- 1 루트 루트 126100 7월 11일 03:09 /mnt/boot/grub/stage2_eltorito -rw-r--r-- 1 루트 루트 12024 7월 11일 03:09 /mnt/boot/grub/ufs2_stage1_5 -rw-r--r-- 1 루트 루트 11364 7월 11일 03:09 /mnt/boot/grub/vstafs_stage1_5 -rw-r--r-- 1 루트 루트 13964 7월 11일 03:09 /mnt/boot/grub/xfs_stage1_5

(chroot)# ls -l /mnt/boot/grub/device.map *만약 있다면 기존 것들을 삭제하세요 (chroot)# rm -f /mnt/boot/grub/device.map


6. 그럽 설치

(chroot)# cat < > 장치 (hd0) /dev/xvdo

루트 (hd0,0) 설정 (hd0) EOF


*grub이 하는 일은 다음과 같습니다. **위 파티션을 만들면 다음 작업을 할 필요가 없습니다**.

(치루트)# 그럽 --배치 BIOS 드라이브를 추측하도록 프로브하는 장치들. 이 과정은 오래 걸릴 수 있습니다. GNU GRUB 버전 0.97 (하위 메모리 640K / 상위 메모리 3072K )

[ 최소한의 BASH와 유사한 줄 편집을 지원합니다. 첫 단어는 TAB 가능한 명령 완료 항목을 나열합니다. 그 외 어디든 TAB가 가능한 명령어 완료 항목을 나열합니다 장치/파일명의 완성 기록.] grub> 장치 (HD0) /dev/xvdg 그럽> 루트 (HD0,0) grub> 설정 (HD0) 그럽> 그만둬


7. 저수준 디스크 검사

라벨 검증 (chroot)# tune2fs -l /dev/xvdg1 |grep name 파일 시스템 볼륨 이름: _/

FSCK 검증 (chroot)# tune2fs -l /dev/xvdg1 |egrep "Maximum| 체크" 최대 마운트 수: 28 체크 간격: 15552000 (6개월) 시작 시 fsck 하지 않게 변경했습니다 (chroot)# tune2fs -i 0 -c 0 /dev/xvdg1 tune2fs 1.41.12 (2010년 5월 17일) 최대 마운트 수를 -1로 설정하기 체크 간격을 0초로 설정하기 (chroot)# tune2fs -l /dev/xvdg1 |egrep "Maximum| 체크" 최대 마운트 수: -1 체크 간격: 0 ()


8. 그럽 설정 변경

(chroot)# CP -a /boot/grub/menu.lst{,.org} (chroot)# vi /boot/grub/menu.lst 루트 (HD0) ↓ 루트 (HD0,0)

kernel /boot/vmlinuz-2.6.32-220.7.1.el6.x86_64 ro root=LABEL=/ ↓ kernel /boot/vmlinuz-2.6.32-220.7.1.el6.x86_64 ro root=LABEL=/ console=ttyS0 xen_pv_hvm=enable

(chroot)# diff /boot/grub/menu.lst{,.org} 6,7c6,7 < root (hd0,0) < kernel /boot/vmlinuz-2.6.32-220.7.1.el6.x86_64 ro root=LABEL=_/ console=ttyS0 xen_pv_hvm=enable

루트 (HD0) kernel /boot/vmlinuz-2.6.32-220.7.1.el6.x86_64 ro root=LABEL=_/

fstab 설정 변경 (Coco 등은 기존 설정을 따라야 합니다)

라벨=_/ / ext4 기본값 1 1

tmpfs /dev/shm tmpfs 기본값 0 0 devpts /dev/pts devpts devpts gid=5,mode=620 0 0 sysfs /sys sysfs 기본값 0 0 프로크 /프로크 프로크 기본값 0 0


9. 작업 완료

(치루트)# 출구

rm -f /mnt/dev/xvdg*

이즈 -엘 /mnt/dev/

총 0 crw------- 1 root root 5, 2012년 3월 30일 콘솔 crw-rw-rw- 1 루트 1, 2012년 3월 30일 null crw-rw-rw- 1 어근 5, 0 2012년 3월 30일 tty crw-rw-rw- 1 어근 1, 2012년 3월 30일 5일 0

무장 /mnt/proc /mnt

df -h /dev/xvdg1

파일 시스템 크기 사용 가능 사용% 마운트

  • 1.9골 156K 1.9G 1% 개발

그 후 /dev/xvdg의 스냅샷을 받아 스냅샷에서 AMI를 생성합니다. 관리 콘솔에서 작업할 수 있습니다. 

참고 링크[](http://www.agilegroup.co.jp/technote/t1micro-to-t2micro-migration.html "EC2のt1.microをt2.microへ移行する")</-空のEBS>

Related Articles