Amazon ڪلائوڊ ۾ خالص CentOS 5.9 سان توهان جي پنهنجي تصوير ٺاهڻ

جئين توهان ڄاڻو ٿا، Amazon ڪلائوڊ ۾ ورچوئل مثال شروع ڪيا ويا آهن تصويرن جي بنياد تي (جنهن کي ايم). Amazon انهن جو هڪ وڏو تعداد مهيا ڪري ٿو؛ توهان پڻ استعمال ڪري سگهو ٿا عوامي تصويرون ٽئين پارٽين پاران تيار ڪيون ويون آهن، جن لاءِ ڪلائوڊ فراهم ڪندڙ، يقينا، ڪا به ذميواري نه کڻندو. پر ڪڏهن ڪڏهن توهان کي ضروري پيٽرولن سان هڪ صاف سسٽم تصوير جي ضرورت آهي، جيڪا تصويرن جي فهرست ۾ نه آهي. پوءِ واحد رستو اهو آهي ته پنهنجو پنهنجو AMI ٺاهيو.

سرڪاري دستاويز بيان ڪري ٿو رستو هڪ "مثال طور اسٽور جي پٺڀرائي AMI" ٺاهڻ. هن طريقي جو نقصان اهو آهي ته ختم ٿيل تصوير کي پڻ "EBS-backed AMI" ۾ تبديل ڪرڻ جي ضرورت پوندي.

Amazon ڪلائوڊ ۾ پنهنجو EBS-backed AMI ڪيئن ٺاهيو وچولي مرحلن کان سواءِ هن آرٽيڪل ۾ بحث ڪيو ويندو.

عمل جو منصوبو:

  • ماحول تيار ڪريو
  • صاف سسٽم انسٽال ڪريو ۽ ضروري سيٽنگون ٺاھيو
  • ڊسڪ جو هڪ سنيپ شاٽ وٺو
  • AMI رجسٽر ڪريو

ماحول جي تياري

اسان جي مقصدن لاء، ڪنهن به شڪل جو ڪو به مثال مناسب آهي، جيتوڻيڪ t1.micro. توھان ان کي CLI ذريعي هلائي سگھو ٿا:

aws ec2 run-instances --image-id ami-1624987f --max-count 1 --min-count 1 --key-name mel --instance-type t1.micro

اچو ته ebs-volume ٺاھيون، جتي اسان پنھنجي سسٽم کي بعد ۾ انسٽال ڪنداسين:

aws ec2 create-volume --availability-zone us-east-1a --size 10

هي حڪم اسان لاء 10 Gb ڊسڪ ٺاهيندو. اھم: ڊسڪ ھڪڙي ئي زون ۾ ھجڻ گھرجي مثال طور (اسان جي صورت ۾ اھو آھي us-east-1a).
اڳيون، توهان کي ڊسڪ کي مثال سان ڳنڍڻ جي ضرورت آهي:

aws ec2 attach-volume --instance-id i-2bc0925b --volume-id vol-08ab3079 --device /dev/xvdf

ھاڻي اچو ته لاگ ان ڪريون مثال ۾ ssh ذريعي، ڊسڪ کي فارميٽ ڪريو ۽ ان کي ڊاريڪٽري ۾ لڳايو:

mkfs.ext3 /dev/xvdf
mkdir /mnt/centos-image
mount /dev/xvdf /mnt/centos-image
cd !$

صاف Centos 5.9 انسٽال ڪرڻ

سسٽم کي انسٽال ڪرڻ کان پهريان، توهان کي هڪ ڊاريڪٽري وڻ ٺاهڻ جي ضرورت آهي، proc ۽ sysfs کي نصب ڪرڻ، ۽ ڊوائيسز جو گهٽ ۾ گهٽ سيٽ ٺاهيو:

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

اسان سسٽم کي yum استعمال ڪندي انسٽال ڪنداسين ۽ هيٺين ترتيب واري فائيل:
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

انسٽاليشن جي عمل کي مڪمل ڪرڻ کان پوء، توهان ساڳئي طريقي سان ڪنهن به ضروري پيڪيجز کي انسٽال ڪري سگهو ٿا:

yum -c ~/yum-centos.conf --installroot=/mnt/centos-image/ install $packet_name

اچو ته ترميم ڪريون 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

CentOS 5.9 ۾ توهان کي اڃا تائين xen سپورٽ سان ڪنيل نصب ڪرڻ جي ضرورت آهي:

yum -c ~/yum-centos.conf --installroot=/mnt/centos-image/ -y install kernel-xen

Grub انسٽال ڪريو:

chroot /mnt/centos-image/ grub-install /dev/xvdf

۽ هڪ نئون initrd ٺاهي:

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

اهو تمام ضروري آهي ته انهن سڀني پيٽرولن کي بيان ڪرڻ ۽ هڪ نئون fstab، ٻي صورت ۾ سسٽم بوٽ نه ٿيندو.
اڳيون توهان کي grub لاءِ menu.lst فائل ٺاهڻ جي ضرورت آهي:

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

اچو ته نيٽ ورڪ کي ترتيب ڏيو ۽ 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

اهڙيء طرح، اسان هڪ ڪم ڪندڙ نيٽ ورڪ حاصل ڪنداسين ۽ چيڪ استعمال ڪندي مثال ۾ لاگ ان ٿيڻ جي صلاحيت. پر چاٻي پاڻ کي ڪنهن به صورت ۾ مثال ڏانهن منتقل ڪرڻ جي ضرورت آهي. اهو هڪ اسڪرپٽ استعمال ڪندي ڪري سگهجي ٿو جيڪو ڪيڏي وٺندو ۽ ان کي محفوظ ڪندو مثال طور:

vi /mnt/centos5img/etc/init.d/ec2-get-ssh

ec2-get-ssh#! / بن / بيش
# chkconfig: 2345 95 20
# پروسيس جو نالو: ec2-get-ssh
# وضاحت: EC2 استعمال ڪندڙ لاءِ AWS عوامي ڪيئي سندون پڪڙيو

# ذريعو فنڪشن لائبريري
. /etc/rc.d/init.d/functions

# ماخذ نيٽ ورڪنگ ترتيب
[-r/etc/sysconfig/network] &&. /etc/sysconfig/network

# توھان جي سسٽم لاء ھيٺ ڏنل ماحولياتي متغير کي تبديل ڪريو
برآمد PATH =:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin

# چيڪ ڪريو ته نيٽ ورڪنگ ترتيب ڏنل آهي
جيڪڏهن [ "${NETWORKING}" = "نه"]؛ پوءِ
گونج "نيٽ ورڪنگ ترتيب نه آهي."
نڪرڻ 1
fi

شروعات () {
جيڪڏهن [! -d /root/.ssh]؛ پوءِ
mkdir -p /root/.ssh
chmod 700 /root/.ssh
fi
# HTTP استعمال ڪندي ميٽاداٽ سرور مان عوامي ڪيئي حاصل ڪريو
curl -f 169.254.169.254/latest/meta-data/public-keys/0/openssh-key > /tmp/my-public-key
جيڪڏهن [$؟ -eq 0]؛ پوءِ
گونج "EC2: HTTP استعمال ڪندي ميٽا ڊيٽا سرور مان عوامي ڪيٻي حاصل ڪريو."
cat /tmp/my-public-key >> /root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys
rm /tmp/my-public-key
fi
}

روڪيو () {
گونج "هتي ڪرڻ لاء ڪجھ به ناهي"
}

ٻيهر شروع ڪريو () {
اسٽاپ
شروع
}

# ڏسو اسان کي ڪيئن سڏيو ويو.
ڪيس "$ 1" ۾
شروع)
شروع
;;
روڪيو)
اسٽاپ
;;
ٻيهر شروع ڪريو)
شروع ڪر
;;
*)
گونج $"استعمال: $0 {start|Stop|restart}"
نڪرڻ 1
اهو سي

$ ٻاهر نڪتو؟
اچو ته ان کي قابل عمل بڻايون ۽ ان کي شروعات ۾ شامل ڪريو:

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

اهو پڻ صلاح آهي ته Selinux کي بند ڪرڻ، يا ان کي صحيح ترتيب ڏيو. ٻي صورت ۾، مثال طور، ڪيچ شايد مثال تي محفوظ نه ٿي سگھي.
هن جڳهه تي توهان سسٽم کي ترتيب ڏيڻ بند ڪري سگهو ٿا. اسان وٽ اڳ ۾ ئي خالص CentOS بادل ۾ هلائڻ لاءِ تيار آهي. باقي اهو آهي ته اسان جي سسٽم سان ebs ڊسڪ کي ان مائونٽ ڪرڻ ۽ ami رجسٽر ڪرڻ.

umount /mnt/centos-image/proc/
umount /mnt/centos-image/sys/
umount /mnt/centos-image/

AMI رجسٽريشن

اي بي ايس ڊسڪ مان امي حاصل ڪرڻ لاءِ، توهان کي پهريان ڊسڪ جو سنيپ شاٽ وٺڻو پوندو:

aws ec2 create-snapshot --volume-id vol-0b4bd07a --description centos-snap

ami رجسٽر ڪرڻ جو آسان طريقو AWS مئنيجمينٽ ڪنسول ذريعي آهي. هن کي ڪرڻ لاءِ، توهان کي صرف EC2 سروس ۾ ”سنيپ شاٽ“ سيڪشن ۾ وڃڻ جي ضرورت آهي، جنهن کي توهان جي ضرورت آهي ان کي چونڊيو (اسان جي صورت ۾ اهو سينٽر سنيپ آهي)، ان تي ساڄي ڪلڪ ڪريو ۽ چونڊيو ”اسنيپ شاٽ مان تصوير ٺاهيو“.
ان کان پوء، ونڊو ۾ جيڪو کلي ٿو، توهان کي تقريبا هيٺين پيٽرولن کي چونڊڻ جي ضرورت آهي:

Amazon ڪلائوڊ ۾ خالص CentOS 5.9 سان توهان جي پنهنجي تصوير ٺاهڻ

توھان ڳولي سگھوٿا ڪھڙي ڪنيل ID کي چونڊڻ لاءِ ھيٺ ڏنل آھي:

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

اهو ئي سڀ ڪجهه آهي. ھاڻي توھان شروع ڪري سگھو ٿا مثالون.
هن طريقي سان، توهان هڪ تصوير ٺاهي سگهو ٿا، گهڻو ڪري، ڪنهن به لينڪس ڊويزن سان. گهٽ ۾ گهٽ، ضرور Debian (هڪ صاف سسٽم کي نصب ڪرڻ لاء ڊيبوٽ اسٽريپ استعمال ڪندي) ۽ ريل-خاندان.

جو ذريعو: www.habr.com

تبصرو شامل ڪريو