AWS-AMI缩小根分区并创建新的AMI例子
下面我们来看一篇关于AWS-AMI 缩小根分区并创建新的AMI例子,如果你想了解AWS-AMI对分区操作的例子可进入看看.
环境及需求:
1.现在的AMI 根分区有25G
2.25G有点多,所以想将25G缩小到12G
3.查看磁盘信息
- #df-h
- FilesystemSizeUsedAvailUse%Mountedon
- /dev/xvda117G1.5G15G9%/
- tmpfs498M0498M0%/dev/shm
操作步骤:
1.挂载一块12G的新盘(/dev/xvdf)
2.分区并格式化新磁盘
- #fdisk-l
- DeviceBootStartEndBlocksIdSystem
- /dev/xvdf111045839393183Linux
- /dev/xvdf2104615664184932+82Linuxswap/Solaris
- #mkfs.ext4/dev/xvdf1--phpfensi.com
3.挂载新磁盘
- #mkdir/new
- #mount/dev/xvdf1/new
- #df|grepnew
- /dev/xvdf17.9G1.2G6.4G16%/new
4.同步数据(将/下所有数据拷贝到新磁盘).
# rsync -auv / –exclude=”/new/*” /new
5.卷标处理
查看各磁盘卷标:
- #e2label/dev/xvda1
- /
- #e2label/dev/xvdf1(这个没有卷标,所以是空的)
给新磁盘添加卷标:
- e2label/dev/xvdf1ROOT
- mkswap-LSWAP/dev/xvdf2
- (#e2label/dev/xvda1“”//删除卷标可以这样)
6.修改并查看/new/etc/fstab(LABEL为ROOT的挂载到/,LABEL为SWAP的为swap)
- #cat/new/etc/fstab
- LABEL=ROOT/ext4defaults11
- LABEL=SWAPswapswapdefaults00
- tmpfs/tmptmpfsdefaults00
- devpts/dev/ptsdevptsgid=5,mode=62000
- sysfs/syssysfsdefaults00
- proc/procprocdefaults00
7.修改并查看/new/boot/grub/grub.conf(从LABEL为ROOT的启动)
- default=0
- timeout=5
- splashimage=(hd0,0)/boot/grub/splash.xpm.gz
- hiddenmenu
- titleCentOS(2.6.32-431.3.1.el6.x86_64)
- root(hd0,0)
- kernel/boot/vmlinuz-2.6.32-431.3.1.el6.x86_64roroot=LABEL=ROOTconsole=ttyS0crashkernel=autoSYSFONT=latarcyrheb-sun16LANG=en_US.UTF-8KEYTABLE=us
- initrd/boot/initramfs-2.6.32-431.3.1.el6.x86_64.img
8.确保网卡是DHCP
- #cat/new/etc/sysconfig/network-scripts/ifcfg-eth0
- DEVICE=eth0
- ONBOOT=yes
- BOOTPROTO=dhcp
- TYPE=Ethernet
9.创建snapshot
snapshot:给snapshot取个名字
snapshot2:pending需要一段时间(取决于磁盘的大小),记住创建的snapshot的ID,后面要用.
9.创建完成后,基于这个snapshot注册一个AMI.
- #ec2-register-n“CentOS6.5-x64-base-12G”-d“CentOS6.5-x64-base-12G”-ax86_64–root-device-name/dev/sda-b/dev/sda=snap-f13d641e:12:true–kernelaki-503e7402–regionap-southeast-1--virtualization-typehvm
- -OAKIXXXXXXXXXXXXX-Wxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
10.备注:
系统要运行ec2-register命令,需要安装java环境和aws-api的包,官方命令详解:
http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ApiReference-cmd-RegisterImage.html
-b /dev/sda=snap-f13d641e:12:true 表示sda是由snap-f13d641e这个snapshot克隆来的.
11.是磁盘容量
–kernel aki-503e7402 不同地区和不是系统位数用的aki名是不一样的,更多AKI详见如下链接.
- http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UserProvidedKernels.html#AmazonKernelImageIDs
- -OAKIXXXXXXXXXXXXX-Wxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
创建一个用户,授权可以执行ec2-register命令,并记住它的key.
热门评论