Abuuritaanka sawirkaaga CentOS 5.9 saafi ah ee daruuraha Amazon

Sidaad ogtahay, gudaha Amazon Cloud Cloud Clouds waxaa la bilaabay iyadoo lagu saleynayo sawirada (waxa loogu yeero AMI). Amazon waxay bixisaa tiro badan oo iyaga ka mid ah; waxaad sidoo kale isticmaali kartaa sawirada dadweynaha ee ay diyaariyeen dhinacyo saddexaad, kuwaas oo bixiyaha daruuraha, dabcan, uusan qaadin wax masuuliyad ah. Laakiin mararka qaarkood waxaad u baahan tahay sawir nidaam nadiif ah oo leh xuduudaha lagama maarmaanka ah, taas oo aan ku jirin liiska sawirada. Markaa dariiqa kaliya ee aad kaga bixi kartaa waa inaad samaysato AMI adiga kuu gaar ah.

Dukumeentiga rasmiga ah ayaa qeexaya habka abuurista "AMI-da tusale-dukaan taageerto". Khasaaraha habkan ayaa ah in sawirka la dhammeeyey uu sidoo kale u baahan doono in loo beddelo "AMI ay taageerto EBS"

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 169.254.169.254/ugu dambeeyay/data-xogta/furayaasha-dadweynaha/0/furaha-furaha > /tmp/key-guud-key
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:

Abuuritaanka sawirkaaga CentOS 5.9 saafi ah ee daruuraha Amazon

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

Add a comment