በአማዞን ደመና ውስጥ የራስዎን ምስል በንጹህ CentOS 5.9 መፍጠር

እንደሚያውቁት ፣ በአማዞን ደመና ውስጥ ምናባዊ ምሳሌዎች በምስሎች ላይ ተመስርተው ተጀምረዋል (የሚባሉት። AMI). አማዞን ብዙ ቁጥር ያላቸውን ያቀርባል ፣ እንዲሁም በሶስተኛ ወገኖች የተዘጋጁ የህዝብ ምስሎችን መጠቀም ይችላሉ ፣ ለዚህም የደመና አቅራቢው ምንም አይነት ሃላፊነት አይወስድም። ነገር ግን አንዳንድ ጊዜ በምስሎች ዝርዝር ውስጥ የሌለ አስፈላጊ መለኪያዎች ያሉት ንጹህ የስርዓት ምስል ያስፈልግዎታል. ከዚያ መውጫው የእራስዎን AMI መስራት ብቻ ነው።

ኦፊሴላዊው ሰነድ ይገልፃል። መንገድ በ"ለምሳሌ በመደብር የሚደገፍ ኤኤምአይ" መፍጠር። የዚህ አካሄድ ጉዳቱ የተጠናቀቀው ምስል ወደ “በኢቢኤስ የሚደገፍ ኤኤምአይ” መቀየር አስፈላጊ መሆኑ ነው።

ያለ መካከለኛ ደረጃዎች የራስዎን በEBS የሚደገፍ ኤኤምአይ በአማዞን ደመና ውስጥ እንዴት መፍጠር እንደሚችሉ በዚህ ጽሑፍ ውስጥ ይብራራል።

የድርጊት መርሃ ግብር:

  • አካባቢውን ያዘጋጁ
  • ንጹህ ስርዓት ይጫኑ እና አስፈላጊዎቹን ቅንብሮች ያድርጉ
  • የዲስክን ቅጽበታዊ ገጽ እይታ ያንሱ
  • ኤኤምአይ ይመዝገቡ

አካባቢን ማዘጋጀት

ለዓላማችን፣ የማንኛውም ቅርጽ ምሳሌ 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 ዲስክ ያደርግልናል. አስፈላጊ: ዲስኩ እንደ ምሳሌው ተመሳሳይ ዞን መሆን አለበት (በእኛ ሁኔታ እኛ-ምስራቅ-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 በመጫን ላይ

ስርዓቱን ከመጫንዎ በፊት የማውጫውን ዛፍ መፍጠር ፣ ፕሮክ እና 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-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

እና አዲስ መግቢያ ያመነጫሉ፡

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 መግለጽ በጣም አስፈላጊ ነው, አለበለዚያ ስርዓቱ አይነሳም.
በመቀጠል ለግሩብ የ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-ማግኘት-ssh#! / bin / bash
# 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 /ሥር/.ssh
chmod 700 / root/.ssh
fi
# ኤችቲቲፒ በመጠቀም የህዝብ ቁልፍን ከሜታዳታ አገልጋይ ያውጡ
ጥቅል -f 169.254.169.254/የቅርብ/ሜታ-ዳታ/የሕዝብ-ቁልፎች/0/መክፈቻ-ቁልፍ > /tmp/my-public-key
ከሆነ [$? -eq 0]; ከዚያም
echo "EC2: HTTPን በመጠቀም ከሜታዳታ አገልጋይ የህዝብ ቁልፍ ሰርስሮ ውሰድ።"
ድመት /tmp/የእኔ-የወል-ቁልፍ >> /root/.ssh/authorized_keys
chmod 600 / root/.ssh/authorized_keys
rm /tmp/my-public-key
fi
}

ተወ() {
አስተጋባ "እዚህ ምንም ማድረግ የለም"
}

እንደገና ጀምር() {
ተወ
መጀመሪያ
}

# እንዴት እንደተጠራን ተመልከት።
መያዣ "$1" ኢንች
ጀምር)
መጀመሪያ
;;
ተወ)
ተወ
;;
እንደገና ጀምር)
እንደገና ጀምር
;;
*)
echo $"አጠቃቀም፡ $0 {start|stop|እንደገና መጀመር}"
መውጫ 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 አለን። የቀረው ኢቢኤስ ዲስኩን በእኛ ሲስተም ነቅለን አሚ መመዝገብ ብቻ ነው።

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

የኤኤምአይ ምዝገባ

አሚን ከ ebs ዲስክ ለማግኘት በመጀመሪያ የዲስክን ፎቶ ማንሳት ያስፈልግዎታል፡-

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

አሚን ለመመዝገብ ቀላሉ መንገድ በAWS አስተዳደር ኮንሶል በኩል ነው። ይህንን ለማድረግ በ EC2 አገልግሎት ውስጥ ወደ "Snapshots" ክፍል መሄድ ብቻ ያስፈልግዎታል, የሚፈልጉትን ይምረጡ (በእኛ ሁኔታ ሴንቶስ-ስናፕ ነው), በእሱ ላይ ቀኝ-ጠቅ ያድርጉ እና "ከቅጽበተ ፎቶ ምስል ይፍጠሩ" የሚለውን ይምረጡ.
ከዚያ በሚከፈተው መስኮት ውስጥ በግምት የሚከተሉትን መለኪያዎች መምረጥ ያስፈልግዎታል ።

በአማዞን ደመና ውስጥ የራስዎን ምስል በንጹህ CentOS 5.9 መፍጠር

የትኛውን የከርነል መታወቂያ እንደሚከተለው እንደሚመርጡ ማወቅ ይችላሉ።

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

ይኼው ነው. አሁን ምሳሌዎችን ማስጀመር ይችላሉ።
በዚህ መንገድ, ከማንኛውም የሊኑክስ ስርጭት ጋር, ምናልባትም, ምስል መፍጠር ይችላሉ. ቢያንስ፣ በእርግጠኝነት ዴቢያን (ንፁህ ስርዓትን ለመጫን ዲቦትስትራፕን በመጠቀም) እና Rhel-family።

ምንጭ: hab.com

አስተያየት ያክሉ