คำตอบคือสองเท่า
วิธีแก้ปัญหา: ใช้ / dev / xvdb (/ mnt) สำหรับข้อมูลชั่วคราว
นี่คือที่เก็บชั่วคราวที่เรียกว่าอินสแตนซ์Amazon EC2ของคุณและลักษณะของมันแตกต่างอย่างมากจากที่เก็บถาวรAmazon EBSถาวรที่ใช้งานที่อื่น โดยเฉพาะอย่างยิ่งนี้การจัดเก็บชั่วคราวจะหายไปเมื่อหยุด / เริ่มต้นรอบและโดยทั่วไปสามารถไปออกไปเพื่อให้คุณแน่นอนไม่ต้องการที่จะนำสิ่งที่มีมูลค่าที่ยั่งยืนนั่นคือใส่เพียงชั่วคราวมีข้อมูลที่คุณสามารถจะสูญเสียหรือสร้างได้อย่างง่ายดาย , เช่นไฟล์ swap หรือข้อมูลชั่วคราวที่ใช้ในระหว่างการคำนวณ แน่นอนคุณอาจเก็บดัชนีขนาดใหญ่ไว้ที่นั่น แต่ต้องเตรียมสร้างใหม่หลังจากที่หน่วยเก็บนั้นถูกล้างด้วยเหตุผลใดก็ตาม (เช่นรีบูตเครื่อง, ความล้มเหลวของฮาร์ดแวร์, ... )
การแก้ไข: ปรับขนาด / dev / xvda1 (/) เพื่อเพิ่มพื้นที่จัดเก็บที่ต้องการ
นี่คือรูทอุปกรณ์จัดเก็บข้อมูลของอินสแตนซ์ EC2 ที่สนับสนุนโดย Amazon EBSของคุณซึ่งอำนวยความสะดวกให้กับAmazon EBSสำหรับความยืดหยุ่นและความทนทานโดยเฉพาะอย่างยิ่งข้อมูลที่มีความปลอดภัยและรอดชีวิตมาได้ คุณสามารถเพิ่มความยืดหยุ่นและความทนทานยิ่งขึ้นด้วยการถ่ายภาพสแนปชอตปกติของปริมาณ EBS ของคุณซึ่งจัดเก็บไว้ในAmazon S3ซึ่งมีความทนทานที่รู้จักกันดี 99.999999999%
คุณสมบัติสแนปชอตนี้ช่วยให้คุณสามารถแก้ปัญหาของคุณได้ในทางกลับกันคุณสามารถแทนที่พื้นที่เก็บข้อมูลราก EBS 8GB ปัจจุบัน (/ dev / xvda1) ด้วยขนาดใหญ่กว่าหรือน้อยกว่าที่คุณต้องการ กระบวนการดังกล่าวระบุไว้ในบทความที่ยอดเยี่ยมของ Eric Hammond การปรับขนาดรูทดิสก์บน EBS Boot EC2 Instance ที่ทำงานอยู่ :
ตราบใดที่คุณสามารถตกลงกับอินสแตนซ์ EC2 เพียงเล็กน้อย (ไม่กี่นาที) ก็เป็นไปได้ที่จะเปลี่ยนวอลุ่ม EBS รูทด้วยสำเนาที่ใหญ่ขึ้นโดยไม่จำเป็นต้องเริ่มต้นอินสแตนซ์ใหม่
หากคุณเตรียมขั้นตอนอย่างถูกต้องเขาอธิบาย (ฉันขอแนะนำให้ทดสอบอินสแตนซ์ EC2 ที่ใช้แล้วทิ้งไปก่อนเพื่อทำความคุ้นเคยกับขั้นตอนหรือทำให้เป็นอัตโนมัติผ่านสคริปต์ที่ปรับให้เหมาะสม) คุณควรจะสามารถทำกระบวนการให้เสร็จ นาทีการหยุดทำงานเท่านั้นแน่นอน
ส่วนใหญ่ทำตามขั้นตอนที่ระบุไว้สามารถดำเนินการผ่านทางคอนโซลการจัดการ AWSเช่นกันซึ่งหลีกเลี่ยงการติดต่อกับเครื่องมือ Amazon EC2 API ; สิ่งนี้ทำให้เดือดลงไปที่:
- หยุด (ไม่สิ้นสุด!) อินสแตนซ์ของ EC2
- ถอดโวลุ่ม EBS ออกจากอินสแตนซ์ที่หยุดทำงาน
- สร้างสแน็ปช็อตของโวลุ่ม EBS ที่ดึงออกมา
- สร้างไดรฟ์ข้อมูล EBS ใหม่ (ใหญ่กว่า) จากสแน็ปช็อตที่สร้าง
- แนบวอลุ่ม EBS ใหม่เข้ากับอินสแตนซ์ EC2 ( สำคัญ) ! หากนี่คืออุปกรณ์รูทของคุณต้องแน่ใจว่าตั้งชื่อตรงกับอุปกรณ์รูทของอินสแตนซ์ตามที่กล่าวถึงเช่น (/ dev / sda1) หรือ (/ dev / xdva1) มิฉะนั้นจะถูกแนบเป็นอุปกรณ์บล็อกไม่ใช่อุปกรณ์รูทและคุณจะไม่สามารถเริ่มต้นอินสแตนซ์เนื่องจากจะไม่มีอุปกรณ์รูทแสดงอยู่สำหรับอินสแตนซ์)
- SSH เป็นอินสแตนซ์ที่กำลังทำงานอยู่และยืนยันว่าทุกอย่างอยู่ในการสั่งซื้อผ่าน
df -ah
- ในกรณีที่ระบบของคุณไม่ได้ปรับขนาดระบบไฟล์โดยอัตโนมัติคุณจะต้องดำเนินการด้วยตนเองตามที่อธิบายไว้ในบทความของ Eric
โชคดี!
ทางเลือก
ด้วยความสามารถรอบด้านและความสะดวกในการใช้งานไดรฟ์ข้อมูล EBS เหล่านี้ตัวเลือกเพิ่มเติมคือการแนบไดรฟ์ข้อมูล EBS เพิ่มเติมเข้ากับอินสแตนซ์ของคุณ
ตัวอย่างเช่นเรากำลังใช้แอพพลิเคชั่น Java รุ่นหนาสองตัวซึ่งแต่ละตัวใช้พื้นที่เก็บข้อมูล 1-2GB ต่อหนึ่งเวอร์ชัน เพื่อความสะดวกในรุ่นอัพเกรดและโดยทั่วไปจะสามารถย้ายแอพพลิเคเหล่านี้ไปยังอินสแตนซ์ที่แตกต่างกันขึ้นอยู่กับดุลยพินิจของฉันฉันวางไว้บนไดรฟ์ EBS เฉพาะแต่ละติดเหล่านี้เพื่อเป็นตัวอย่างและเชื่อมโยงนุ่มพวกเขาไปยังสถานที่ที่ต้องการเช่นมักและ/var/lib/<app>/<version>
/usr/local/<app>/<version>
ด้วยวิธีการนี้เรากำลังเรียกใช้อินสแตนซ์ EC2 กับที่เก็บอุปกรณ์รูทที่ขนาดเริ่มต้นที่ 8GB (เหมือนของคุณ) แต่บางครั้งอาจถึง 8 EBS ไดรฟ์ที่มีขนาดแตกต่างกัน (1-15GB)
คุณจำเป็นต้องตระหนักถึงปัญหาประสิทธิภาพเครือข่ายที่อาจเกิดขึ้นแม้ว่าในปริมาณ EBS เหล่านี้ทั้งหมดจะใช้ LAN เดียวกันสำหรับ I / O ของพวกเขาซึ่งอาจให้ประสิทธิภาพที่เพิ่มขึ้นตามลำดับหรือทำให้เครือข่ายของคุณอิ่มตัวในกรณีที่รุนแรง ในกรณีการใช้งานและปริมาณงานที่อยู่ในมือ