Monga mukudziwira, mumtambo wa Amazon zochitika zenizeni zimayambitsidwa kutengera zithunzi (zotchedwa
Zolemba zovomerezeka zimalongosola
Momwe mungapangire EBS-backed AMI yanu mumtambo wa Amazon popanda masitepe apakatikati tikambirana m'nkhaniyi.
Pulani:
- Konzani chilengedwe
- Ikani dongosolo loyera ndikupanga zoikamo zofunika
- Pezani chithunzi cha disk
- Lembani AMI
Kukonzekera Chilengedwe
Pazolinga zathu, chitsanzo chilichonse cha mawonekedwe aliwonse ndi abwino, ngakhale t1.micro. Mutha kuyendetsa kudzera pa CLI:
aws ec2 run-instances --image-id ami-1624987f --max-count 1 --min-count 1 --key-name mel --instance-type t1.micro
Tiyeni tipange ebs-volume, komwe tidzakhazikitsa dongosolo lathu pambuyo pake:
aws ec2 create-volume --availability-zone us-east-1a --size 10
Lamuloli litipangira disk 10 Gb kwa ife. Chofunika: disk iyenera kukhala m'dera lomwelo monga chitsanzo (kwa ife ndi ife-kummawa-1a).
Pambuyo pake, muyenera kulumikiza disk ku chitsanzo:
aws ec2 attach-volume --instance-id i-2bc0925b --volume-id vol-08ab3079 --device /dev/xvdf
Tsopano tiyeni tilowe ku chitsanzo kudzera ssh, pangani disk ndikuyiyika mu bukhuli:
mkfs.ext3 /dev/xvdf
mkdir /mnt/centos-image
mount /dev/xvdf /mnt/centos-image
cd !$
Kuyika zoyera za Centos 5.9
Musanayike dongosololi, muyenera kupanga chikwatu, mount proc ndi sysfs, ndikupanga zida zochepa:
mkdir centos-image/{boot,tmp,dev,sys,proc,etc,var}
mount -t proc none /mnt/centos-image/proc/
mount -t sysfs none /mnt/centos-image/sys/
for i in console null zero ; do /sbin/MAKEDEV -d /mnt/centos-image/dev -x $i ; done
Tidzakhazikitsa dongosolo pogwiritsa ntchito yum ndi fayilo yotsatirayi:
yum-centos.conf
[main]
cachedir=/var/cache/yum
debuglevel=2
logfile=/var/log/yum.log
exclude=*-debuginfo
gpgcheck=0
obsoletes=1
reposdir=/dev/null
[base]
name=CentOS-5.9 - Base
mirrorlist=http://mirrorlist.centos.org/?release=5.9&arch=x86_64&repo=os
#baseurl=http://mirror.centos.org/centos/5.9/os/x86_64/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
[updates]
name=CentOS-5.9 - Updates
mirrorlist=http://mirrorlist.centos.org/?release=5.9&arch=x86_64&repo=updates
#baseurl=http://mirror.centos.org/centos/5.9/updates/x86_64/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
[extras]
name=CentOS-5.9 - Extras
mirrorlist=http://mirrorlist.centos.org/?release=5.9&arch=x86_64&repo=extras
#baseurl=http://mirror.centos.org/centos/5.9/extras/x86_64/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-5
[centosplus]
name=CentOS-5.9 - Plus
mirrorlist=http://mirrorlist.centos.org/?release=5.9&arch=x86_64&repo=centosplus
#baseurl=http://mirror.centos.org/centos/5.9/centosplus/x86_64/
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-5
[contrib]
name=CentOS-5.9 - Contrib
mirrorlist=http://mirrorlist.centos.org/?release=5.9&arch=x86_64&repo=contrib
#baseurl=http://mirror.centos.org/centos/5.9/contrib/x86_64/
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-5
yum -c ~/yum-centos.conf --installroot=/mnt/centos-image/ -y groupinstall Base
Mukamaliza kukhazikitsa, mutha kukhazikitsa phukusi lililonse lofunikira mwanjira yomweyo:
yum -c ~/yum-centos.conf --installroot=/mnt/centos-image/ install $packet_name
Tiyeni tisinthe fstab:
vi /mnt/centos-image
/dev/xvda1 / ext3 defaults 0 0
none /dev/pts devpts gid=5,mode=620 0 0
none /dev/shm tmpfs defaults 0 0
none /proc proc defaults 0 0
none /sys sysfs defaults 0 0
Mu CentOS 5.9 mukufunikabe kukhazikitsa kernel ndi chithandizo cha xen:
yum -c ~/yum-centos.conf --installroot=/mnt/centos-image/ -y install kernel-xen
Ikani Grub:
chroot /mnt/centos-image/ grub-install /dev/xvdf
ndi kupanga initrd yatsopano:
chroot /mnt/centos-image/
cd boot/
mkinitrd --omit-scsi-modules --with=xennet --with=xenblk --fstab=/etc/fstab --preload=xenblk initrd-2.6.18-348.1.1.el5xen.img 2.6.18-348.1.1.el5xen
Ndikofunikira kwambiri kufotokozera magawo onsewa ndi fstab yatsopano, apo ayi dongosolo silingayambe.
Kenako muyenera kupanga fayilo ya menyu.lst ya grub:
default=0
timeout=5
hiddenmenu
title CentOS_5.9_(x86_64)
root (hd0)
kernel /boot/vmlinuz-2.6.18-348.1.1.el5xen ro root=/dev/xvda1
initrd /boot/initrd-2.6.18-348.1.1.el5xen.img
Tiyeni tikonze maukonde ndi sshd:
vi etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=yes
DEVICE=eth0
BOOTPROTO=dhcp
TYPE=Ethernet
USERCTL=yes
PEERDNS=yes
IPV6INIT=no
vi etc/sysconfig/network
NETWORKING=yes
chroot /mnt/centos5img/ chkconfig --level 2345 network on
vi /mnt/centos5img/etc/ssh/sshd_config
...
UseDNS no
PermitRootLogin without-password
Chifukwa chake, tidzakhala ndi netiweki yogwira ntchito ndikutha kulowa mu chitsanzocho pogwiritsa ntchito makiyi. Koma fungulo lokha liyenera kusamutsidwa ku chitsanzo mwanjira ina. Izi zitha kuchitika pogwiritsa ntchito script yomwe ingatenge fungulo ndikulisunga mwachitsanzo:
vi /mnt/centos5img/etc/init.d/ec2-get-ssh
ec2-peza-ssh#! / bin / bash
# chkconfig: 2345 95 20
# processname: ec2-get-ssh
# Kufotokozera: Jambulani zidziwitso zachinsinsi za AWS za wogwiritsa ntchito EC2
#Source ntchito library
. /etc/rc.d/init.d/functions
# Kusintha kwa ma network a Source
[ -r /etc/sysconfig/network] &&. /etc/sysconfig/network
# Sinthani zosintha zotsatirazi pamakina anu
kutumiza PATH=:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin
# Onani kuti ma network akukonzedwa
ngati [ "${NETWORKING}" = "ayi"]; ndiye
echo "Networking sinakonzedwe."
tulukani 1
fi
kuyamba () {
ngati [! -d /root/.ssh]; ndiye
mkdir -p /root/.ssh
chmod 700 /root/.ssh
fi
# Bweretsani kiyi yapagulu kuchokera pa seva ya metadata pogwiritsa ntchito HTTP
pinda -f
ngati [$? -eq 0]; ndiye
echo "EC2: Pezani kiyi yapagulu kuchokera pa seva ya metadata pogwiritsa ntchito HTTP."
mphaka /tmp/my-public-key >> /root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys
rm /tmp/my-public-key
fi
}
Imani() {
echo "Palibe chochita apa"
}
yambitsaninso() {
Imani
chiyambi
}
# Tawonani momwe tinayitanidwa.
mtengo "$1" mkati
kuyamba)
chiyambi
;;
Imani)
Imani
;;
yambitsaninso)
yambitsaninso
;;
*)
echo $"Kagwiritsidwe: $0 {start|imani|yambitsanso}"
tulukani 1
kuti C
kutuluka $?
Tiyeni tipange kuti zitheke ndikuwonjezera poyambira:
chmod +x /mnt/centos-image/etc/init.d/ec2-get-ssh
/usr/sbin/chroot /mnt/centos-image/ /sbin/chkconfig --level 34 ec2-get-ssh on
Ndikoyeneranso kuletsa Selinux, kapena kuyikonza moyenera. Apo ayi, mwachitsanzo, fungulo silingasungidwe panthawiyi.
Panthawiyi mukhoza kusiya kukhazikitsa dongosolo. Tili ndi kale CentOS yokonzeka kuthamanga mumtambo. Chotsalira ndikutsitsa disk ebs ndi dongosolo lathu ndikulembetsa ami.
umount /mnt/centos-image/proc/
umount /mnt/centos-image/sys/
umount /mnt/centos-image/
Kulembetsa kwa AMI
Kuti mupeze ami kuchokera ku ebs disk, choyamba muyenera kujambula chithunzithunzi cha disk:
aws ec2 create-snapshot --volume-id vol-0b4bd07a --description centos-snap
Njira yosavuta yolembera ami ndi kudzera pa AWS Management Console. Kuti muchite izi, muyenera kupita ku gawo la "Snapshots" muutumiki wa EC2, sankhani yomwe mukufuna (kwathu ndi centos-snap), dinani pomwepa ndikusankha "Pangani Chithunzi kuchokera ku Chithunzithunzi"
Kenako, pawindo lomwe limatsegulidwa, muyenera kusankha pafupifupi magawo awa:
Mutha kudziwa ID ya Kernel yomwe mungasankhe motere:
aws ec2 describe-images --owner amazon --region us-east-1 --output text | grep "/pv-grub-hd0.*-x86_64" | awk '{print $7}' | grep aki
aki-88aa75e1
aki-b4aa75dd
Ndizomwezo. Tsopano mutha kuyambitsa zochitika.
Mwanjira iyi, mutha kupanga chithunzi, mwina, ndi kugawa kulikonse kwa Linux. Osachepera, ndithudi Debian (pogwiritsa ntchito debootstrap kukhazikitsa dongosolo loyera) ndi Rhel-family.
Source: www.habr.com