جئين توهان ڄاڻو ٿا، Amazon ڪلائوڊ ۾ ورچوئل مثال شروع ڪيا ويا آهن تصويرن جي بنياد تي (جنهن کي
سرڪاري دستاويز بيان ڪري ٿو
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
جيڪڏهن [$؟ -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 سروس ۾ ”سنيپ شاٽ“ سيڪشن ۾ وڃڻ جي ضرورت آهي، جنهن کي توهان جي ضرورت آهي ان کي چونڊيو (اسان جي صورت ۾ اهو سينٽر سنيپ آهي)، ان تي ساڄي ڪلڪ ڪريو ۽ چونڊيو ”اسنيپ شاٽ مان تصوير ٺاهيو“.
ان کان پوء، ونڊو ۾ جيڪو کلي ٿو، توهان کي تقريبا هيٺين پيٽرولن کي چونڊڻ جي ضرورت آهي:
توھان ڳولي سگھوٿا ڪھڙي ڪنيل 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