ฉันจะทราบได้อย่างไรว่าส่วนใดของที่เก็บข้อมูล ec2 ของฉันนั้นไม่ยั่งยืน


11

นี่อาจเป็นคำถามงี่เง่า, แก้ตัวความไม่รู้ของฉัน

ฉันมีอินสแตนซ์ที่ทำงานแบบนี้: AWs Console

ทำ อุปกรณ์ราก: EBSหมายความว่าระบบทั้งหมดของฉันอยู่บน EBS?

ฉันได้กำหนดค่า apache และแอป perl ที่นี่การกำหนดค่าและไฟล์ทั้งหมดของฉันจะ ไม่หายไปไหน

ฉันจะรู้ได้อย่างไรว่ามีอะไรทำงานในที่เก็บข้อมูลชั่วคราวและอะไรที่ทำงานบน EBS ถ้าฉันคลิกอินสแตนซ์ในคอนโซลการจัดการและดูรายละเอียดด้านล่างมันบอกว่า:EBS Optimized: falseสิ่งนี้หมายความว่าอย่างไร

นี่คือลักษณะที่เก็บข้อมูลของฉัน:

[ec2-user@<MY_IP> ~]$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/xvda1            7.9G  1.7G  6.2G  22% /
tmpfs                 298M     0  298M   0% /dev/shm

[ec2-user@<MY_IP> ~]$ mount
/dev/xvda1 on / type ext4 (rw,noatime)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

2
อินสแตนซ์ t1.micro ไม่มีที่เก็บชั่วคราวใด ๆ มีเพียง m1.small หรือสูงกว่าเท่านั้นที่มี
หมายเลข 5

อ่าดี ไม่ทราบว่า ไม่น่าแปลกใจที่ฉันไม่เห็นตัวเลือกใด ๆ
gideon

คำตอบ:


4

อุปกรณ์รูทคือ '/' ของคุณ ในกรณีนี้คือ / dev / xvda1 และเป็นไดรฟ์ EBS

อุปกรณ์ชั่วคราวคือ (อย่างที่ฉันรู้):

  • SDB (xvdb)
  • SDC (xvdc)
  • SDD (xvdd)
  • SDE (xvde)

คุณสามารถตรวจสอบได้ว่าอุปกรณ์ใดเป็นไดรฟ์ EBS โดยใช้ AWS UI: EC2 -> อินสแตนซ์ -> [เลือกของคุณ] -> บล็อกอุปกรณ์


น่ากลัว ขอบคุณ :) ทุกอย่างsysfs1คือdevptอะไรและอะไรไม่
gideon

1
tmpfs คล้ายกับ ramfs และอนุญาตให้เก็บไฟล์ใน RAM อย่างรวดเร็ว devpts และ sysfs เป็นระบบไฟล์ linux "เสมือน" ที่ให้การเข้าถึงข้อมูลเคอร์เนลบางส่วน คุณสามารถตรวจสอบเพิ่มเติมเกี่ยวกับ google - มีบทความมากมายเกี่ยวกับพวกเขา
Tomasz Olszewski

xvda1 Xvdd xvdc xvdbนี่คือปริมาณ EBS คุณจะบอกว่าสิ่งเหล่านี้เป็นสิ่งชั่วคราวได้อย่างไร

3
คำตอบข้างต้นไม่ถูกต้องและไม่ควรตรวจสอบในฐานะ 'คำตอบ'
Andrew S

นี่มันผิด !!
eyeApps LLC

13

อุปกรณ์ชั่วคราวและ ebs สามารถใช้ชื่อไฟล์ของอุปกรณ์ตัวอักษรใด ๆ ได้ดังนั้นอย่าพึ่งใช้ชื่ออุปกรณ์เท่านั้น ชื่ออุปกรณ์มีความสำคัญต่อการพิจารณาว่าเป็นชั่วคราวหรือไม่อย่างไรก็ตามฉันจะทำโครงร่างด้านล่าง การใช้ชื่อจุดยึดด้วยคำว่า 'ephemeral' หรือ 'ebs' นั้นไม่น่าเชื่อถือเช่นเดียวกัน

แม้ว่าสิ่งเหล่านี้สามารถทำได้ผ่าน EC2 GUI แต่คำสั่งบางคำยังคงต้องเรียกใช้บนเซิร์ฟเวอร์ดังนั้นที่นี่ฉันแค่ให้วิธีการ ฉันจะให้ตัวอย่างจากร้านค้าอินสแตนซ์ขั้นต่ำ 6.5 ของ m3.medium CentOS (เช่น ephemeral) ที่ได้รับการสนับสนุน AMI

1) ติดตั้งยูทิลิตี้ wget ด้วย yum install -y wget

2) เรียกใช้ wget -q 169.254.169.254/latest/meta-data/block-device-mapping/ -O -

ในตัวอย่างนี้เก็บ AMI ที่สำรองไว้ - เอาต์พุตไปยังคำสั่ง # 2 ด้านบนคือ:

ami ephemeral0

เพื่อวัตถุประสงค์ในการเปรียบเทียบด้านล่างคือตัวอย่างเอาต์พุตจากเซิร์ฟเวอร์ CentOS ที่สำรอง EBS ที่มีปริมาณ EBS เท่านั้น (ไม่มีไดรฟ์ชั่วคราว):

ami ebs2 ebs3

ฉันจะกลับไปที่อินสแตนซ์ที่ได้รับการสนับสนุนของ EBS ด้วยโวลุ่ม EBS ในภายหลัง สำหรับตอนนี้เรามาดูตัวอย่างอินสแตนซ์สโตร์เดิมที่ได้รับการสนับสนุนซึ่งแสดงให้เราเห็นว่ามีไดรฟ์ชั่วคราว

หากต้องการค้นหาว่าไฟล์อุปกรณ์ใดที่ถูกแมปกับไดรฟ์ชั่วคราวของคุณให้รัน wget อีกครั้งคราวนี้จะเพิ่มชื่อของไดรฟ์ชั่วคราวตามที่ค้นพบใน # 2 ด้านบนลงใน url:

3) wget -q 169.254.169.254/latest/meta-data/block-device-mapping/ephemeral0 -O -

และในตัวอย่างนี้ผลลัพธ์คือ / คือ:

sdb

นี่เป็นการเน้นย้ำจุดของฉันข้างต้นว่าคุณไม่สามารถคิด / dev / sdb ถึง / dev / sde เป็นอุปกรณ์ ebs มันอาจจะจริงที่ / dev / xvdb ผ่าน / dev / xvde มี EBS - แต่ระบบของฉันมักจะเริ่มต้นด้วย / dev / xvde1เพื่อการดำรงอยู่ของตัวอักษรที่อุปกรณ์เหล่านั้นมีแนวโน้มที่จะขึ้นอยู่กับระบบปฏิบัติการภูมิภาค AMI ฯลฯ คุณกำลังใช้ นอกจากนี้คุณสามารถเรียกใช้ # 3 กับชื่อ 'ebs' หากมี (เช่นebs2 ) และจะให้ผลลัพธ์ที่คล้ายกัน

4) ถัดไปเรียกใช้ lsblk

ในกรณีนี้ผลลัพธ์จะเป็นดังนี้:

NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvde1 202:65 0 8G 0 disk / xvdf 202:80 0 4G 0 disk

นี่เป็นการเน้นย้ำจุดของฉันจากด้านบนซึ่งคุณไม่สามารถพึ่งพาจุดเมานท์เพื่อบอกคุณได้ว่าอุปกรณ์นั้นชั่วคราวหรือไม่

คุณจะสังเกตเห็นว่าการแมประหว่างตัวอักษรปริมาณโวลุ่มอุปกรณ์ EC2 และตัวอักษรการแมปของระบบปฏิบัติการไม่ตรงกัน ข่าวดีเล็กน้อยที่นี่ก็คือตัวอักษรไดรฟ์จะเพิ่มขึ้นตามลำดับเดียวกันแม้ว่าตัวอักษรจะไม่ตรงกัน ดังนั้นขอตัวอักษรไดรฟ์ 'อื่น ๆ ' จากเมตาดาต้าการแมปอุปกรณ์ของเรา ดังที่คุณเห็นด้านบนมีการจับคู่อุปกรณ์สองรายการหนึ่งรายการหนึ่งชื่อamiและอีกรายการหนึ่งเรียกephemeral0ที่เรียกว่า เราตรวจสอบ ephemeral0 แล้วดังนั้นลองมาตรวจดู ami:

5) wget -q 169.254.169.254/latest/meta-data/block-device-mapping/ami -O -

ผลลัพธ์คือ / เป็นดังนี้:

sda1

เราสามารถสรุปได้อย่างมั่นใจว่าตัวอักษรต่ำสุดในการแมป OS เป็นตัวอักษรต่ำสุดของการแมปอุปกรณ์ EC2 บล็อกและเราสามารถเพิ่มขึ้นจากที่นั่นได้ ดังนั้น:

/dev/sda1 = /dev/xvde1 และ /dev/sdb = /dev/xvdf

สุดท้าย แต่ไม่ท้ายสุด - คุณจะสังเกตได้ว่าการแมปอุปกรณ์บล็อกamiนั้นไม่ได้ให้ยืมในทันทีไม่ว่าจะเป็นการสำรองข้อมูล EBS หรือการสำรองข้อมูลของร้านค้าอินสแตนซ์ เรามีอีกหนึ่งคำสั่งให้เรียกใช้

6) wget -q 169.254.169.254/latest/meta-data/ami-manifest-path -O -

ฉันมั่นใจว่า EBS ที่ได้รับการสนับสนุน AMI ไม่มีเส้นทางรายการเนื่องจากมีเพียงปริมาณการจัดเก็บอินสแตนซ์เท่านั้นที่มีรายการ (รายการแสดงรายการชื่อและเส้นทางของกลุ่มบันเดิลของ AMI ใน S3) ในกรณีที่ฉันตรวจสอบแล้วผลลัพธ์ของ # 6 ข้างต้นเมื่อเรียกใช้และอินสแตนซ์สโตร์ ami เป็นสิ่งที่คล้ายกับ:

someamibucketname/someamidescription/someamidescription.manifest.xml

ในขณะที่เมื่อ # 6 ถูกเรียกใช้เทียบกับ EBS ที่ได้รับการสนับสนุนจาก AMI คุณจะได้รับ:

(unknown)


2

sudo lsblkควรให้คำแนะนำแก่คุณ IE

[ec2-user@ec2-host ~]$ sudo lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0   8G  0 disk 
└─xvda1 202:1    0   8G  0 part /
xvdb    202:16   0   4G  0 disk /media/ephemeral0

0

มีสามวิธีที่จะทราบว่า EC2 Storage เป็นข้อมูลชั่วคราวหรือไม่

1) ตามที่ทำความเข้าใจกับอินสแตนซ์สโตร์และบทความEBSซึ่งกล่าวถึงสาเหตุที่มีอินสแตนซ์ที่ทำให้ข้อมูลสูญหายหากหยุด / ยกเลิก

คุณต้องรันlsblkคำสั่ง linux ตัวอย่างผลลัพธ์จะเป็น:

[ec2-user:ip-127.0.0.1] ~]$ lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  50G  0 disk 
└─xvda1 202:1    0  50G  0 part /
xvdb    202:16   0   8G  0 disk /media/ephemeral0

หากคุณเห็นephemeral0คำหลัก สิ่งใดก็ตามที่เก็บไว้ในไดรฟ์ชั่วคราวจะสูญเสียข้อมูลเมื่อคุณหยุดและเริ่มต้นอินสแตนซ์ใหม่

2) คุณสามารถตรวจสอบประเภทอินสแตนซ์ของคุณ หากคุณเห็นว่าที่เก็บข้อมูลประเภทอินสแตนซ์ของคุณเป็นEBS onlyข้อมูลที่จะเก็บไว้เมื่อหยุดหรือเริ่มต้นใหม่

ป้อนคำอธิบายรูปภาพที่นี่

3) ค้นหาเซิร์ฟเวอร์ข้อมูลเมตาโดยใช้:

curl 169.254.169.254/latest/meta-data/block-device-mapping/ -O -

ที่เก็บ EBS

[ec2-user:ip-127.0.0.1] ~]$ curl 169.254.169.254/latest/meta-data/block-device-mapping/ -O -
ami
ebs2

ด้วยการจัดเก็บชั่วคราว

[ec2-user:ip-127.0.0.1] ~]$ curl 169.254.169.254/latest/meta-data/block-device-mapping/ -O -
ami
ephemeral0
ephemeral1
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.