Mepụta onyonyo nke gị site na iji CentOS 5.9 dị ọcha na igwe ojii Amazon

Dị ka ị maara, na Amazon ígwé ojii mebere ihe atụ na-amalite na-adabere na oyiyi (nke a na-akpọ AMI). Amazon na-enye ọnụ ọgụgụ buru ibu n'ime ha; ị nwekwara ike iji ihe oyiyi ọha na eze kwadoro site n'aka ndị ọzọ, nke onye na-eweta igwe ojii, n'ezie, anaghị ebu ọrụ ọ bụla. Ma mgbe ụfọdụ ị chọrọ ihe oyiyi usoro dị ọcha na ihe ndị dị mkpa, nke na-adịghị na ndepụta nke ihe oyiyi. Mgbe ahụ naanị ụzọ ị ga-esi pụta bụ ime AMI nke gị.

Akwụkwọ gọọmentị na-akọwa ụzọ ịmepụta "AMI nke ụlọ ahịa na-akwado ihe atụ". Ọdịmma dị na ụzọ a bụ na onyonyo emechara ga-adịkwa mkpa ka a gbanwee ya ka ọ bụrụ “AMI-akwado EBS”

Edemede a ga-atụle otu esi emepụta AMI nke EBS na-akwado gị n'igwe ojii Amazon na-enweghị usoro dị n'etiti.

Atụmatụ Action:

  • Kwadebe gburugburu ebe obibi
  • Wụnye usoro dị ọcha ma mee ntọala ndị dị mkpa
  • Were nseta ihuenyo diski ahụ
  • Deba aha AMI

Ịkwadebe gburugburu

Maka ebumnuche anyị, ihe atụ ọ bụla nke ụdị ọ bụla dabara adaba, ọbụlagodi t1.micro. Ị nwere ike ịme ya site na CLI:

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

Ka anyị mepụta ebs-volume, ebe anyị ga-etinye sistemu anyị ma emechaa:

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

Iwu a ga-emere anyị diski 10 Gb. Ihe dị mkpa: diski ahụ ga-adị n'otu mpaghara ahụ dịka ọmụmaatụ (n'ọnọdụ anyị ọ bụ us-east-1a).
Ọzọ, ịkwesịrị itinye diski ahụ na ihe atụ:

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

Ugbu a, ka anyị banye na ihe atụ site na ssh, hazie diski ma tinye ya na ndekọ:

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

Ịwụnye Centos dị ọcha 5.9

Tupu ịwụnye sistemụ ahụ, ịkwesịrị ịmepụta osisi ndekọ, mount proc na sysfs, wee mepụta obere ngwaọrụ:

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

Anyị ga-etinye usoro ahụ site na iji yum na faịlụ nhazi ndị a:
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

Mgbe ịmechara usoro nrụnye, ị nwere ike ịwụnye ngwugwu ọ bụla dị mkpa n'otu ụzọ ahụ:

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

Ka anyị dezie 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

Na CentOS 5.9 ị ka kwesịrị ịwụnye kernel na nkwado xen:

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

Wụnye Grub:

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

ma mepụta initrd ọhụrụ:

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

Ọ dị ezigbo mkpa ịkọwapụta paramita ndị a niile na fstab ọhụrụ, ma ọ bụghị na usoro ahụ agaghị buut.
Ọzọ ị ga-emepụta faịlụ menu.lst maka 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

Ka anyị hazie netwọk na 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

N'ihi ya, anyị ga-enweta netwọk na-arụ ọrụ na ike ịbanye na ihe atụ site na iji igodo. Mana igodo n'onwe ya kwesịrị ibufe ya na ihe atụ n'ụzọ ụfọdụ. Enwere ike ime nke a site na iji edemede ga-ewere igodo wee chekwaa ya na ọmụmaatụ:

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

ec2-nweta-ssh#! / bin / bash
# chkconfig: 2345 95 20
# aha nhazi: ec2-get-ssh
Nkọwa #: Weghara nzere igodo ọha AWS maka onye ọrụ EC2

#Source ọrụ ọba akwụkwọ
. /etc/rc.d/init.d/functions

# Nhazi netwọkụ isi mmalite
[-r /etc/sysconfig/netwọk] &&. /etc/sysconfig/network

# Dochie mgbanwe gburugburu ebe obibi maka sistemụ gị
mbupụ PATH =: / usr / mpaghara / bin: / usr / mpaghara / sbin: / usr / bin: / usr / sbin: / bin: / sbin

# Lelee na ahaziri netwọkụ
ọ bụrụ na ["${NETWORKING}" = "enweghị" ]; mgbe ahụ
Echo "Ahazighị netwọkụ."
ụzọ ọpụpụ 1
fi

mbido () {
ọ bụrụ [! -d /mgbọrọgwụ/.ssh]; mgbe ahụ
mkdir -p /mgbọrọgwụ/.ssh
chmod 700 / mgbọrọgwụ/.ssh
fi
# Weghachite igodo ọha na sava metadata site na iji HTTP
agba -f 169.254.169.254/ latest/meta-data/ọha-keys/0/openssh-key > /tmp/my-ọha-key
ọ bụrụ [$? -eq 0]; mgbe ahụ
echo "EC2: weghachite igodo ọha na sava metadata site na iji HTTP."
pusi /tmp/my-ọha-key >> /root/.ssh/authorized_keys
chmod 600 / mgbọrọgwụ/.ssh/authorized_keys
rm /tmp/my-ọha-key
fi
}

Kwụsị() {
ikwughachi "Onweghị ihe ga-eme ebe a"
}

malitegharịa() {
Kwụsị
mmalite
}

# Lee ka e siri kpọọ anyị.
ikpe "$ 1" na
ibido)
mmalite
;;
Kwụsị)
Kwụsị
;;
malitegharịa)
Malitegharịa ekwentị
;;
*)
echo $"Ojiji: $0 {mmalite|kwụsị|malitegharịa}"
ụzọ ọpụpụ 1
na C

pua $?
Ka anyị mee ka ọ dị mfe ma tinye ya na mmalite:

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

Ọ dịkwa mma ka ị gbanyụọ Selinux, ma ọ bụ hazie ya nke ọma. Ma ọ bụghị ya, dịka ọmụmaatụ, igodo agaghị echekwa ya na ọmụmaatụ.
N'ebe a, ị nwere ike ịkwụsị ịtọ usoro ahụ. Anyị enweelarị CentOS dị ọcha dị njikere ịgba ọsọ n'igwe ojii. Naanị ihe fọdụrụ bụ iji sistemụ anyị wepụ diski ebs ma debanye aha ami.

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

Ndebanye aha AMI

Iji nweta ami na diski ebs, ị ga-ebu ụzọ were foto diski ahụ:

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

Ụzọ kachasị mfe iji debanye aha ami bụ site na njikwa njikwa AWS. Iji mee nke a, naanị ị ga-aga na ngalaba “Snapshots” na ọrụ EC2, họrọ nke ịchọrọ (n'ọnọdụ anyị ọ bụ centos-snap), pịa aka nri na ya wee họrọ “Mepụta onyonyo site na foto”.
Mgbe ahụ, na mpio mepere emepe, ịkwesịrị ịhọrọ ihe dịka paramita ndị a:

Mepụta onyonyo nke gị site na iji CentOS 5.9 dị ọcha na igwe ojii Amazon

Ị nwere ike chọpụta nke kernel ID ịhọrọ dị ka ndị a:

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

Ọ gwụla. Ugbu a ị nwere ike ịmalite ihe atụ.
N'ụzọ dị otú a, ị nwere ike ịmepụta ihe oyiyi, o yikarịrị, na nkesa Linux ọ bụla. Opekempe, n'ezie Debian (iji debootstrap iji wụnye sistemụ dị ọcha) yana ezinụlọ Rhel.

isi: www.habr.com

Tinye a comment