Sidaad ogtahay, gudaha Amazon Cloud Cloud Clouds waxaa la bilaabay iyadoo lagu saleynayo sawirada (waxa loogu yeero
Dukumeentiga rasmiga ah ayaa qeexaya
Sida loo abuuro AMI-gaaga ay taageerto EBS adiga kuu gaar ah ee daruuraha Amazon iyada oo aan la helin tillaabooyin dhexdhexaad ah ayaa looga hadli doonaa maqaalkan.
Qorshe hawleedka:
- U diyaari deegaanka
- Ku rakib nidaam nadiif ah oo samee goobaha lagama maarmaanka ah
- Sawir sawir ka qaad saxanka
- Diiwaangeli AMI
Diyaarinta Deegaanka
Ujeeddooyinkeena, tusaale kasta oo qaab kasta ah ayaa ku habboon, xitaa t1.micro. Waxaad ku socodsiin kartaa CLI:
aws ec2 run-instances --image-id ami-1624987f --max-count 1 --min-count 1 --key-name mel --instance-type t1.micro
Aan abuurno ebs-volume, halkaas oo aan ku rakibi doono nidaamkayaga dambe:
aws ec2 create-volume --availability-zone us-east-1a --size 10
Amarkani wuxuu noo samayn doonaa disk 10 Gb ah. Muhiim: saxanku waa inuu ku yaal aag la mid ah tusaale ahaan (xaaladdeena waa us-bari-1a).
Marka xigta, waxaad u baahan tahay inaad ku dhejiso diskka tusaalaha:
aws ec2 attach-volume --instance-id i-2bc0925b --volume-id vol-08ab3079 --device /dev/xvdf
Hadda aan galno tusaale ahaan ssh, qaabeeya diskka oo ku dheji tusaha:
mkfs.ext3 /dev/xvdf
mkdir /mnt/centos-image
mount /dev/xvdf /mnt/centos-image
cd !$
Ku rakibida Centos nadiif ah 5.9
Kahor intaadan rakibin nidaamka, waxaad u baahan tahay inaad abuurto geed hagaha, ku dheji proc iyo sysfs, oo aad abuurto aaladaha ugu yar:
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
Waxaan ku rakibi doonaa nidaamka anagoo adeegsanayna yum iyo faylka qaabeynta soo socda:
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
Kadib markaad dhamaystirto habka rakibaadda, waxaad ku rakibi kartaa baakadaha lagama maarmaanka ah si la mid ah:
yum -c ~/yum-centos.conf --installroot=/mnt/centos-image/ install $packet_name
Aan wax ka beddelno 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
Gudaha CentOS 5.9 waxaad weli u baahan tahay inaad ku rakibto kernel oo leh taageerada xen:
yum -c ~/yum-centos.conf --installroot=/mnt/centos-image/ -y install kernel-xen
Ku rakib Grub:
chroot /mnt/centos-image/ grub-install /dev/xvdf
oo soo saar intrd cusub:
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
Aad bay muhiim u tahay in la qeexo dhammaan xuduudahan iyo fstab cusub, haddii kale nidaamku ma kicin doono.
Marka xigta waxaad u baahan tahay inaad abuurto menu.lst faylka 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
Aynu habaynno shabakada iyo 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
Markaa, waxaanu heli doonaa shabakad shaqaynaysa iyo awood aanu ku galno tusaale ahaan anagoo adeegsanayna furayaasha. Laakiin furaha laftiisa ayaa loo baahan yahay in si uun loogu wareejiyo tusaale ahaan. Tan waxa lagu samayn karaa iyadoo la isticmaalayo qoraal qaadan doona furaha oo ku kaydin doona tusaale ahaan:
vi /mnt/centos5img/etc/init.d/ec2-get-ssh
ec2-hel-ssh#! / bin / bash
# chkconfig: 2345 95 20
# magaca habka: ec2-get-ssh
# tilmaanta: U qabso aqoonsiga furaha dadweynaha AWS ee isticmaalaha EC2
Maktabadda shaqada ee ilaha
. /etc/rc.d/init.d/functions
# Qaabeynta isku xirka isha
[-r /etc/sysconfig/network] &&. /etc/sysconfig/network
# Ku beddel doorsoomayaasha deegaanka ee soo socda nidaamkaaga
dhoofinta PATH=:/usr/maxalli/bin:/usr/maxalli/sbin:/usr/bin:/usr/sbin:/bin:/sbin
# Hubi in isku xidhiddu ay habaysan tahay
haddii ["${NETWORKING}" = "maya" ]; markaas
Echo "Shabakadda lama habaysan."
bixitaanka 1
fi
bilow () {
haddii [! -d /xidid/.ssh]; markaas
mkdir -p /root/.ssh
chmod 700 /root/.ssh
fi
# Ka soo saar furaha dadweynaha serfarka xogta badan adoo isticmaalaya HTTP
duuduuban -f
haddii [$? -eq 0]; markaas
echo "EC2: Ka soo saar furaha dadweynaha serfarka xogta badan adoo isticmaalaya HTTP."
bisad /tmp/ furaha-guud ahaan-keygu >> /root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys
rm /tmp/key-guud-key
fi
}
joogso() {
ku celi "Waxba halkan lagu sameeyo"
}
dib u bilow() {
joojin
bilow
}
# Daawo sida naloogu yeedhay.
kiiska "$1" gudaha
bilow)
bilow
;;
joogso)
joojin
;;
dib u bilow)
qeybtii labaad
;;
*)
echo $"Isticmaalka: $0 {bilaw|joojin|dib u bilow}"
bixitaanka 1
in C
bixi $?
Aan ka dhigno mid la fulin karo oo aan ku darno bilowga:
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
Waxa kale oo lagu talinayaa in la joojiyo Selinux, ama u habeeyo si sax ah. Haddii kale, tusaale ahaan, furaha waxaa laga yaabaa in aan lagu kaydin tusaale ahaan.
Halkaa marka ay marayso waxaad joojin kartaa dejinta nidaamka. Waxaan horay u haysanay CentOS saafi ah oo diyaar u ah inuu ku dhex shaqeeyo daruuraha. Waxa hadhay oo dhan waa in aan ka furno diskka ebs-ka nidaamkayaga oo la diwaangeliyo ami.
umount /mnt/centos-image/proc/
umount /mnt/centos-image/sys/
umount /mnt/centos-image/
Diiwaangelinta AMI
Si aad ami uga hesho diskka ebs, marka hore waxaad u baahan tahay inaad sawir ka qaadatid diskka:
aws ec2 create-snapshot --volume-id vol-0b4bd07a --description centos-snap
Habka ugu fudud ee ami lagu diiwaan gelin karo waa iyada oo loo marayo AWS Management Console. Si tan loo sameeyo, kaliya waxaad u baahan tahay inaad tagto qaybta "Snapshots" ee adeegga EC2, dooro midka aad u baahan tahay (xaaladkeena waa centos-snap), midig-guji oo dooro "Sawir ka samee sawir-qaadis"
Kadib, daaqada furan, waxaad u baahan tahay inaad doorato qiyaasaha soo socda:
Waxaad ku ogaan kartaa aqoonsiga Kernel ee aad dooranayso sida soo socota:
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
Waa intaas. Hadda waxaad bilaabi kartaa tusaalooyin.
Sidan, waxaad u abuuri kartaa sawir, inta badan, qaybinta Linux kasta. Ugu yaraan, hubaal Debian (adoo isticmaalaya debootstrap si loogu rakibo nidaam nadiif ah) iyo Rhel-qoyska.
Source: www.habr.com