ย้ายโฟลเดอร์ tmp จากพาร์ทิชัน '/' ไปยังพาร์ติชันที่ติดตั้ง (/ mnt)


15

ฉันมีอินสแตนซ์ Amazon EC2 ซึ่งให้พาร์ติชัน '/' เล็ก ๆ และพาร์ติชัน '/ mnt' ขนาดเล็ก ดังนั้นฉันได้ย้าย mysql data-dir ไปยังพาร์ติชัน / mnt อย่างไรก็ตามตอนนี้ฉันกำลังมีปัญหากับโฟลเดอร์ / tmp ที่ว่างในการเข้าร่วมจำนวนมากของฉันและพยายามย้าย / tmp ไปที่ / mnt / tmp ฉันพยายามทำสิ่งนี้ด้วย symlink แต่นั่นส่งผลให้บริการ mysql ไม่สามารถเริ่มต้นได้

โปรดแนะนำวิธีการย้ายที่เก็บ / tmp ไปยัง / mnt (/ dev / xvdb)

คำตอบ:


15

คุณสามารถผูก/tmpจุดเชื่อมต่อกับ/mnt/tmp:

sudo mount -B /tmp /mnt/tmp

Fantastic! ง่ายเมื่อคุณรู้ว่า
Programster

4
สิ่งหนึ่งที่คุณต้องระวังคือพาร์ทิชัน / mnt เป็นที่เก็บชั่วคราว หากคุณหยุดอินสแตนซ์ของคุณ (หรือมันลดระดับและ AWS ย้ายมัน) ข้อมูลใน / mnt จะหายไป ขอแนะนำ (โดยเฉพาะอย่างยิ่งสำหรับ MySQL ของคุณ) เพื่อติดตั้งไดรฟ์ข้อมูล EBS และใช้สำหรับข้อมูลที่คุณต้องการจะคงอยู่
Kevin Willock

@KevinWillock ฉันคิดว่า/mnt(ตามขนาด) ของเขานั้นขัดขืน (หรือเขาติดตั้งบางอย่างที่นั่นซึ่งขัดขืน) เนื่องจากเขากำลังบันทึกข้อมูลจริงอยู่ที่นั่น BTW คุณอาจต้องการ ping เขา (โดยใช้@) เนื่องจากฉันเกือบจะแน่ใจว่าไม่ได้ ping
Braiam

@Braiam ฉันไม่ได้ pinged แต่ตรวจสอบหัวข้อนี้อีกครั้งโดยโชค เควินคงถูกต้องว่านี่คือที่เก็บชั่วคราว ฉันรู้ว่าสิ่งนี้ไม่ปลอดภัยอย่างมาก แต่ได้ตั้งใจทำการทดสอบประสิทธิภาพของการใช้ที่จัดเก็บในตัวเครื่อง ถ้าฉันจะใช้ระบบดังกล่าวฉันจะตรวจสอบให้แน่ใจว่าได้จำลอง EBS หรือ RDS เองและสำรองจากที่นั่น ฉันตระหนักถึงความเสี่ยง
โปรแกรม

1
ฉันจำเป็นต้องดำเนินการคำสั่งนั้นทุกครั้งที่ทำการรีบูตหรือไม่?
hithwen

3

ย้ายพาร์ทิชัน "/ tmp" ต้องพิเศษบางอย่างไม่ได้ข้อเสนอแนะในคำตอบที่ผิดนี้/ubuntu//a/371628/298086

การย้ายข้อมูลหมายถึงการลบข้อมูลจากพาร์ติชั่นดั้งเดิมเมื่อโคลนไปยังปลายทางหนึ่งสิ่งใดที่ไม่ถูกดำเนินการโดย bind mount

คำแนะนำ : อ่านโพสต์ที่ยอดเยี่ยมนี้หากคุณต้องการเข้าใจสิ่งที่ผูกติดอยู่คือ/unix//a/198591

หากคุณลองตัวเลือกเมานท์ด้านขวา ("ย้าย" อย่าผูก):

mount -M /tmp /mnt/tmp

ฉันเชื่อว่ามันจะล้มเหลวในการรายงานว่า " tmp เป็นจุดเมานท์ที่ใช้ร่วมกัน " (ที่จริงหมายถึง " ฉันไม่สามารถย้ายจุดเมานท์หากยังคงมีกระบวนการใช้งาน ")

"คำตอบ" ที่คุณกำลังค้นหาอาจต้องหยุดและเริ่มบริการใหม่โดยใช้ / access / tmp ก่อนที่จะย้ายเนื้อหา

คุณสามารถแสดงรายการบริการ / กระบวนการเหล่านั้นได้โดยเรียกใช้:

lsof +D /tmp/

ดังนั้นเมื่อคุณแสดงรายการสิ่งที่กำลังเข้าถึง / ใช้งานจริง/tmpคือเมื่อคุณสามารถเลือก "วิธีการกระทำ" ได้อีกครั้ง

ในความคิดของฉันวิธีที่ปลอดภัยที่สุดผ่านไป

  1. หยุดบริการทั้งหมดที่เข้าถึง / tmp (หากคุณทำได้)
  2. คัดลอกเนื้อหาทั้งหมด / tmp ไปยังสถานที่ใหม่
  3. การแก้ไข / etc / fstab และการเปลี่ยนตำแหน่งทางกายภาพของจุดเชื่อมต่อ / tmp (ไม่ว่าจะเป็นการเชื่อมโยงหรือผูกอุปกรณ์)
  4. รีสตาร์ทระบบเพื่อทำการติดตั้งใหม่

แต่มีอีกวิธีหนึ่งที่ไม่จำเป็นต้องรีสตาร์ทระบบ แต่ก็ไม่ปลอดภัยกว่าเช่นเดิม มันเป็นเรื่องที่อธิบายไว้ที่นี่และประกอบด้วยใน umounting /tmpในขี้เกียจวิธีสิ่งที่จะช่วยให้คุณในการดำเนินการmount -M

ลิงก์ทั้งสองนี้จะมีประโยชน์สำหรับความต้องการของคุณ:

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.