อิมเมจระบบของการใช้ระบบ Debian หรือไม่?


22

เป็นไปได้หรือไม่ที่จะสำรองระบบ Debian ที่ใช้งานอยู่ไปยังไฟล์อิมเมจบางประเภทซึ่งสามารถเขียนกลับไปยังฮาร์ดดิสก์อื่นโดยใช้ dd ในกรณีที่เกิดความล้มเหลวของระบบ Debian เดิม (สำรอง)

ฉันกำลังมองหาเครื่องมือที่มีอยู่ใน repositories โดยตรงโดยเฉพาะอย่างยิ่งฉันมี Debian Wheezy กำลังรันบน raspberry pi ดังนั้นฉันต้องการการสนับสนุนสถาปัตยกรรม ARM ซึ่งได้รับความน่าเชื่อถือสำหรับแพ็คเกจของที่เก็บ Debian


2
ฉันจะไม่แนะนำให้พยายามรับสำเนาบล็อกสำหรับบล็อกจากระบบไฟล์ติด rw การเขียนที่เล็กที่สุดอาจทำให้เสียหายได้และคุณคิดว่าคุณมีการสำรองข้อมูลที่ใช้การได้ ดังนั้นmount -o remount,roไดรฟ์ที่คุณกำลังคัดลอกถ้าคุณเลือกdd, dumpหรือคล้ายกัน การคัดลอกด้วยระบบไฟล์ด้วยrsyncหรือวิธีการอื่นรวมถึงcpมีความปลอดภัยสำหรับระบบที่ใช้งานจริง
WhombicalWombat

คำตอบ:


15

ddดีถ้าคุณไม่รังเกียจที่จะสร้างไฟล์รูปภาพที่มีขนาดเท่ากับดิสก์ดิบของคุณ rsyncดีถ้าคุณต้องการการเข้าถึงระดับไฟล์ได้ง่าย แต่วิธีการมาตรฐานในการสำรองระบบไฟล์คือdumpและrestore( aptitude install dump)

สำหรับอุปกรณ์อย่าง Raspberry Pi ฉันจะสำรองข้อมูลดังนี้สมมติว่าเป็นตารางพาร์ติชัน MS-DOS และดิสก์นั้นเป็น / dev / sda:

  • dd if=/dev/sda of=sda-boot-sectors.img count=2048 เพื่อรับภาพของส่วนการบูตของดิสก์
  • fdisk -lu /dev/sda >sda-partition-table.txt สำหรับการอ้างอิงของมนุษย์ในภายหลัง
  • dump -0af sda1-root-level0.dump /dev/sda1 และทำซ้ำสำหรับแต่ละพาร์ติชันที่คุณต้องการสำรองข้อมูล

จากนั้นคุณสามารถบีบอัดล็อตแล้วปล่อยไว้ที่ไหนสักแห่งที่ปลอดภัย สามารถเรียกคืนคุณต้องการใช้ddในการเรียกคืนตารางพาร์ทิชันและบูตภาคโหลดตารางพาร์ทิชันให้ระบบแฟ้มใหม่ (s), cd /mnt/new-filesystem; restore -rf /some-location/sda1-root-level0.dumpและการใช้งาน

Upsides:

  • dump รับสำเนาที่สมบูรณ์ของระบบไฟล์รวมถึง ACL, แอ็ตทริบิวต์ส่วนขยาย, ความเป็นเจ้าของ, ไฟล์แบบกระจาย, แอ็ตทริบิวต์ระบบไฟล์พิเศษ - ทุกอย่างถูกดัมพ์ตามสภาพเดิม
  • มันจะคัดลอกบล็อกที่คุณต้องการโดยไม่สนใจบล็อกที่ไม่ได้ใช้
  • เป็นเครื่องมือ unix มาตรฐานและสามารถอ่านได้โดยเครื่องมือ unix อื่น ๆ มากมาย

ข้อเสีย:

  • มันจะสร้างสแน็ปช็อตที่เสียหายหากระบบไฟล์ถูกเขียนลงในระหว่างการดัมพ์
  • มันยากกว่าที่จะเมานท์อิมเมจที่สำรองไว้ (ซึ่งคุณสามารถทำกับดิสก์อิมเมจ) หรือไปที่ไฟล์แต่ละไฟล์ (ซึ่งคุณสามารถrsyncสำรองข้อมูลได้)
  • มันเป็นประเภทระบบไฟล์เฉพาะ คุณสามารถดัมพ์ext3ระบบไฟล์และเรียกคืนในระบบext4เดียว แต่คุณสามารถดัมพ์ระบบไฟล์ประเภทใดก็ได้ ระบบไฟล์ที่เป็นผู้ใหญ่ส่วนใหญ่มีdumpรุ่นของตัวเอง มาตรฐาน Debian dumpไม่ext2, และext3 ext4หากคุณใช้ระบบไฟล์เฉพาะ Flash ตัวเลือกของคุณอาจแตกต่างกัน

ไม่ได้ระบุไว้ใน manpage dumpเนื่องจากไม่ควรเขียนระบบไฟล์ ฉันหมายความว่านี่เป็นข้อ จำกัด ที่สมเหตุสมผล แต่น่าเสียดายที่ไม่ได้พูดถึงใน manpage ดังนั้นใครบางคนอาจทำผิดพลาดนี้ ...
imz - Ivan Zakharyaschev

ขอบคุณโพสต์ของคุณฉันได้เรียนรู้เกี่ยวกับเครื่องมือนี้ (ดัมพ์ / กู้คืน) ฉันจะใช้มันเพื่อให้สำเนาของระบบแฟ้มที่มีสิ่งที่ชอบ:mkfs.ext4 /dev/sda1; mount /dev/sda1 /mnt/disk; cd /mnt/disk; dump -0af - /dev/sda5 | restore -rf -
Imz - อีวาน Zakharyaschev

5

ใช้ddสำหรับบูตเซกเตอร์และrsync -aHSสำหรับไฟล์ คุณต้องยกเว้นระบบไฟล์ "เสมือน" เช่น / proc / sys และ RAM-disk (tmpfs)

หากคุณต้องการที่จะให้การแบ่งเช่นกันคุณสามารถถ่ายโอนข้อมูลด้วยหรือสร้างมันด้วยsfdiskparted


ขอบคุณฟังดูน่าสนใจมากคุณเคยทำสิ่งนี้ในอดีตหรือไม่? ฉันจะสร้างภาพที่สมบูรณ์จากส่วนเหล่านี้ได้อย่างไรเพียงใช้อุปกรณ์ loopkack (ใช่ต้องการแบ่งพาร์ติชันเรื่อย ๆ เรื่อย ๆ ต้องการภาพพร้อมที่จะเขียนลงในการ์ด SD / ดิสก์ใหม่โดยไม่ต้องเล่นซอต่อไป)
stefan.at.wpf

@ stefan.at.wpf ฉันเพิ่งผสมโซลูชันของฉันสำหรับการโคลน VMs สร้างเซิร์ฟเวอร์ทางกายภาพ (autoyast / kistart) ทำให้ raid1-mirror ออกจากระบบที่ไม่ใช่มิเรอร์และวิธีปกติในการทำซ้ำส่วน (คงที่) ของ ระบบไฟล์สำหรับโหนดคลัสเตอร์ ฉันไม่ได้ใช้ myselv นี้ วิธีการของฉันคือการติดตั้งเซิร์ฟเวอร์ใหม่โดยอัตโนมัติ (รวมถึงไคลเอนต์สำรองข้อมูล) จากนั้นกู้คืนผ่านการสำรองข้อมูลเนื้อหาของเซิร์ฟเวอร์เก่าไปยังเซิร์ฟเวอร์ใหม่
นิลส์

4

สำหรับDebianคุณจะต้องสำรองข้อมูลและไฟล์กำหนดค่าของคุณเท่านั้น

ในการสำรองข้อมูลสถานะที่มีอยู่:

  • dpkg --get-selections > dpkg_selectionsสำรองเลือกแพคเกจด้วย
  • สำรองฐานข้อมูล debconf sudo debconf-get-selections > debconf_selectionsด้วย

ในการใช้สิ่งนี้กับระบบใหม่:

  • ครั้งแรกที่ใช้การเลือก debconf sudo debconf-set-selections < debconf_selectionsกับ
  • dpkg --set-selections < dpkg_selectionsสมัครเลือกแพคเกจด้วย
  • apt-get dselect-upgradeติดตั้งแพ็กเกจ

ข้อมูลของคุณควรอยู่ใน/homeและ/var(เช่น/var/lib/mysqlสำหรับ MySQL /var/wwwสำหรับ Apache ฯลฯ ) คุณควรทราบได้ว่าแอปพลิเคชันใดที่มีความสำคัญต่อคุณ

/etcการกำหนดค่าจะเป็นหลักในการ อีกครั้งไม่ควรเลือกสิ่งที่สำคัญสำหรับคุณ


ในการdebconf-get-selectionวิ่งapt-get install debconf-utils
pandita

1

ฉันไม่รู้ว่านี่เป็นสิ่งที่ดีเมื่อระบบกำลังทำงาน แต่นี่คือสิ่งที่ฉันทำ

sudo dd if=/dev/mmcblk0 of=/path/to/backup/directory/backup.img bs=1M

อย่างที่ฉันบอกว่าอาจจะมีทางออกที่ดีกว่าในกรณีนั้นฉันก็อยากจะรู้เช่นกัน!


1

ฉันได้ลองสำรองข้อมูลและคืนค่าซอฟต์แวร์จำนวนมากและไม่เคยมีความสุข นี่คือสิ่งที่ฉันทำตอนนี้: ฉันมี Debian ตัวที่สองติดตั้งอยู่ในคอมพิวเตอร์สำรอง (MB เดียวกัน, NIC การ์ด, ฯลฯ ) ทุกเย็นฉัน rsync จากเครื่อง A ไปยังเครื่อง B มีไฟล์บางไฟล์ที่ฉันระงับ (/ etc / network / interfaces, / etc / hosts, / etc / hostname) เนื่องจากฉันไม่ต้องการความขัดแย้งของทั้งสองระบบที่กำลังทำงานอยู่ จริงๆแล้วฉันมีสำเนาอยู่ในโฟลเดอร์อื่น ฉันยังปิดใช้งานบริการบางอย่างที่ฉันไม่จำเป็นต้องเรียกใช้บนเครื่อง B (postfix, mysql, ฯลฯ ) ฉันมีสคริปต์ที่เขียนบนเครื่อง B ซึ่งโดยทั่วไปจะเปลี่ยนเป็นเครื่อง A (แทนที่ไฟล์ที่ฉันถือไว้) รีสตาร์ท NIC และเปิดใช้งานบริการที่ถูกปิดใช้งาน แน่นอนว่าเครื่อง A ต้องหยุดทำงานเมื่อฉันเรียกใช้สคริปต์หรือจะมีความเสียหาย ฉันทดสอบเครื่อง B ทุกเดือนโดยปิดเครื่อง A เรียกใช้สคริปต์ และทำการทดสอบเพื่อให้แน่ใจว่าเป็นรุ่นล่าสุดและทำงานอย่างถูกต้อง มันใช้งานได้เหมือนมีเสน่ห์!


0

ตรวจสอบ Clonezilla ฉันเห็นมันอยู่ในรายการ Debian repos มาตรฐาน http://clonezilla.org/

แก้ไข: อาจจะไม่ได้, ข้อกำหนดรายการ Clonezilla ในหน้าแรก: "ตัวประมวลผล X86 หรือ x86-64"


แม้ว่าโครงการที่น่าสนใจขอขอบคุณ :-)
stefan.at.wpf

0

ในการสำรองไพฉันถอดการ์ด microSD และเสียบลงในแล็ปท็อปของฉัน จากนั้นเรียกใช้ a ddเพื่อสร้างไฟล์บนแล็ปท็อปของดิสก์ทั้งหมดตามที่กล่าวข้างต้น:

dd if=/dev/mmcblk0 of=/path/to/backup/directory/backup.img bs=1M

2
นี่คือการละเลยส่วนที่สำคัญที่สุดของคำถาม คำถามคือการถามถึงวิธีการทำภาพสดของระบบและเมื่อถึงเวลาที่คุณเคลื่อนย้ายดิสก์รอบ ๆ ตัวคุณดีกว่าได้ปิดระบบลง
ไซเรน

0

ใช้ systemback ฉันได้รับมันทำงานได้แม้กับยืดเดเบียน มันให้บูทยูเอสบีสดที่ดีพร้อมเดสก์ท็อปที่ตั้งค่าไว้อย่างแน่นอน

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