โปรแกรม GUI เพื่อสร้างภาพสำรองพาร์ทิชันไม่ใหญ่กว่าไฟล์ของมัน?


8

ฉันชอบ 'ดิสก์' ( gnome-disk-utility) และความสามารถในการสร้างสำเนาสำรองของพาร์ติชันระบบ

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

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

มียูทิลิตีดังกล่าวหรือไม่?


3
CloneZilla บางที
muru

1
เท่าที่ฉันเห็น clonezilla สามารถเรียกใช้เป็นเซสชั่นสดเท่านั้น ฉันได้แก้ไขเพื่อระบุว่าฉันกำลังมองหาโปรแกรมที่สามารถติดตั้งและเรียกใช้จากระบบปฏิบัติการฉันใช้หลาย ubuntus และฉันชอบวิธีนี้

คำตอบ:


9

คำตอบต่อไปนี้ใช้TUIไม่ใช่โซลูชันGUI :

ทั้งนี้ขึ้นอยู่กับการใช้งานในกรณีของคุณ (ผมใช้มันเพื่อให้ระบบกลับมาอัพ) คุณสามารถใช้Clonezilla สด มันสามารถสร้าง:

  • ภาพเบาบาง
  • รูปภาพที่บีบอัดของ:
    • ทั้งระบบ
    • ไดรฟ์ทั้งหมด
    • พาร์ติชั่นแยกเดี่ยว

ข้อดีหลักคือ:

  • มันบูทจาก:
  • มาพร้อมกับระบบปฏิบัติการของตัวเอง (ขึ้นอยู่กับ Ubuntu)
  • มันสามารถทำการสำรองระบบเย็นที่แม่นยำซึ่งเรียกคืนได้ง่าย

เหนือสิ่งอื่นใดก็สามารถคัดลอก MBR ได้เช่นกัน

หากระบบเย็นกลับขึ้นไม่ใช่สิ่งที่คุณกำลังมองหาคุณยังสามารถใช้เทคโนโลยีที่ Clonezilla partcloneจะขึ้นอยู่กับและนั่นคือ


1
ฉันได้แก้ไขเพื่อระบุว่าฉันกำลังมองหาโปรแกรม GUI ที่สามารถติดตั้งและเรียกใช้จากระบบปฏิบัติการฉันใช้หลาย ubuntus และฉันชอบวิธีนี้

วิธีการติดตั้ง pyclonezilla? ไม่ใช่รายการ Google หนึ่งรายการสำหรับคำถามนี้

1
ฉันเร็วเกินไปที่จะชี้ GUI ออกมา: มันไม่ทำงาน CLI เท่านั้น! ฉันจะลบคำตอบของฉันหลังจากที่คุณได้ทราบว่าคุณได้อ่าน
Fabby

1
เนื่องจากไม่มีโปรแกรมดูเหมือนว่าจะตอบสนองทั้งสองเงื่อนไข: 1) มี GUI เหมือน 'ดิสก์'; 2) สร้างภาพดิสก์ขนาดใหญ่เท่ากับพื้นที่ที่ใช้ไม่มีประเด็นในการลบคำตอบของคุณ คำตอบของ CLI สำหรับคำถาม GUI มักจะถูกนำเสนอที่นี่และมักจะได้รับการยอมรับด้วยเหตุผลที่ดี ฉันแค่พยายามผลักดันสิ่งที่ฉันต้องการ

1
: DI จะทำการสำรองข้อมูลจากนั้นย่อขนาด ... ;-)
Fabby

4

การบรรลุดิสก์อิมเมจขนาดเล็กมักจะทำโดยวิธีที่จะไม่คัดลอกบล็อกที่ไม่มีศูนย์จากระบบไฟล์เริ่มต้นในอิมเมจ แนวคิดนี้เรียกว่าsparse spaceในไฟล์หรือpuching hole ในไฟล์และระบบไฟล์โฮสต์ของคุณต้องรองรับ บรรทัดคำสั่ง bit แต่ลองทำสิ่งนี้:

sudo apt-get install virt-manager qemu-utils 

จากนั้นเมื่อติดตั้งแล้วคุณสามารถใช้:

qemu-img convert -f raw -O raw  /dev/sdX /home/<user>/Ubuntu.img

สิ่งนี้จะสร้างอิมเมจ (ศูนย์ในไฟล์ที่ไม่ได้เขียน) ของดิสก์ของคุณ โดยที่ -f = format, รูปแบบเอาต์พุต -O sdX บนดิสก์ (สามารถใช้พาร์ติชันได้เช่นกัน) โปรแกรมมีคุณสมบัติขั้นสูงเช่นภาพรวมและรูปแบบเอาต์พุตต่างๆ (vdi, vmdk เป็นต้น) ของคุณสถานที่ที่คุณบันทึกภาพที่ได้ให้การสนับสนุนไฟล์เบาบางหรืออื่น ๆ ขนาดจะเป็นเพียงเป็นใหญ่ตั้งแต่ศูนย์ในพาร์ทิชันจะถูกเขียนไปยังดิสก์ และเพื่อให้ได้ประโยชน์สูงสุดให้รันโปรแกรมเช่นsfillหรือzerofreeพบใน apt บนพาร์ติชั่นเนื่องจากพื้นที่ว่างไม่ได้หมายถึงพื้นที่ว่างเสมอไปและคุณต้องการเพิ่มจำนวนของพื้นที่ว่างในระบบไฟล์ให้สูงสุด

คะแนนนินจาโบนัส เนื่องจาก linux คิดว่าดิสก์เป็น "files" ดังนั้นคุณสามารถใช้ cp ธรรมดาได้โดยมีเงื่อนไขว่าพาร์ติชันเอาต์พุตของคุณที่คุณจอดไฟล์รู้จักไฟล์ที่กระจัดกระจาย

sudo cp --sparse=always /dev/sdX /home/<user>/Ubuntu.img

ซึ่งจะสร้างสำเนาดิบโดย cp ..

ตัวอย่างของระบบไฟล์ที่รองรับ sparse: ext4, btrfs, xfs, ntfs (อย่างไรก็ตาม ntfs-3g อาจไม่อนุญาตให้เขียนแบบกระจาย)

ตัวอย่างของระบบไฟล์ที่ไม่ได้: fat32


ฉันได้แก้ไขเพื่อระบุว่าฉันกำลังมองหาโปรแกรม GUI ที่สามารถติดตั้งและเรียกใช้จากระบบปฏิบัติการฉันใช้หลาย ubuntus และฉันชอบวิธีนี้

สิ่งที่จะเป็นคำสั่งในการคืนค่าภาพ?

โดยปกติในเซิร์ฟเวอร์ฟาร์มเราไม่มีตัวเลือก GUI และสร้างสคริปต์รอบคำสั่งที่กล่าวไว้ นี่คือสาเหตุที่บรรทัดคำสั่งมักจะสมบูรณ์ / ทรงพลังบน Unix การแปลงกลับเป็นเรื่องง่ายเหมือนการย้อนกลับพารามิเตอร์ .. sudo cp /home/<user>/Ubuntu.img /dev/sdXหรือถ้าคุณคิดววsudo dd if=/home/<user>/Ubuntu.img of=/dev/sdX. สิ่งเดียวกันกับ qemu-img แปลง .. ถ้าคุณบอกว่าอยากปลูกเครื่องเสมือนบนฮาร์ดแวร์จริง เมื่อเขียนย้อนกลับไปมันจะเขียนเลขศูนย์ไปยังดิสก์ทำให้คุณunsparseตามที่มันต้องการที่จะต้องอยู่เรขาคณิตพาร์ทิชันของ
283885

1
ฉันเข้าใจประเด็นของคุณและฉันขอโทษที่ฉันไม่ได้ตระหนักถึงเครื่องมือ GUI ใด ๆ ที่เหมาะกับความต้องการของคุณ ฉันคิดว่าอย่างน้อยสิ่งที่สองที่อาจเป็นประโยชน์กับคุณ
283885

1
ยินดีต้อนรับสู่รั้วด้านนี้ เหตุผลที่ฉันชี้ไปที่เซิร์ฟเวอร์ฟาร์มเนื่องจากการพัฒนาส่วนใหญ่เกิดขึ้นเมื่อเร็ว ๆ นี้ ตัวอย่างเช่น qemu-img เป็นยูทิลิตี้จากโครงการขนาดใหญ่กว่ามาก (openstack เริ่มต้นด้วย redhat, rackspace & nasa) คุณมี บริษัท ใหญ่ ๆ เหล่านี้ที่สร้างซอฟต์แวร์ให้เหมาะกับศูนย์ข้อมูลของพวกเขาแล้วคุณมีพวกอย่างเราที่คอยช่วยเหลือพวกเขาอยู่ แน่ใจว่ามันใช้งานได้ แต่มันก็เป็นสปาร์ตันที่ดีที่สุด สำหรับตอนนี้สิ่งที่ดีที่สุดที่ฉันทำได้คือแบ่งปันความรู้กับผู้อื่น
283885

4

เนื่องจากไม่มีโปรแกรมใด ๆ ที่ตัวเองจะต้องทำตามเงื่อนไขสองประการนี้:

1) มี GUI เหมือน 'ดิสก์'

2) สร้างภาพดิสก์ขนาดใหญ่เท่ากับพื้นที่ที่ใช้

ฉันกำลังคิดหาวิธีแก้ปัญหาที่ค่อนข้างง่าย แต่อย่างหนึ่งเกี่ยวข้องกับโปรแกรม GUI สองโปรแกรมซึ่งพบได้บ่อยมากใน Ubuntu:

หนึ่งจะเป็น'ดิสก์'เดียวกัน (gnome-disk-utility) ที่ใช้ในการสร้างอิมเมจสำรองของพาร์ติชันที่กำหนดและที่สองจะเป็น Gparted เพื่อลดขนาดพาร์ติชันให้มากที่สุดก่อนที่จะสร้างอิมเมจสำรองและ เพื่อปรับขนาดกลับไปที่เดิมหลังจากนั้น

ฉันไม่เห็นความไม่สะดวกในการดำเนินการดังกล่าว: การลดขนาดพาร์ติชันให้น้อยที่สุดจะใช้เวลาเพียงไม่กี่นาที (ประมาณ 10 นาทีสำหรับ 10GB) และจะสร้างพื้นที่ว่างทางด้านขวา หลังจากสร้างอิมเมจสำรองของดิสก์ด้วย 'ดิสก์' การใช้ Gparted พาร์ติชันสามารถปรับขนาดกลับไปทางขวาในพื้นที่ว่างจนถึงสถานะเริ่มต้นและใช้เวลาเพียงไม่กี่วินาที

ทดสอบบนพาร์ติชันที่มีการติดตั้ง Ubuntu:


1
ในขณะที่ฉันเพิ่งได้รับ upvote คำตอบของฉันอ่านถ้าคุณเคยพบคำตอบที่สมบูรณ์และดูเหมือนจะเป็นคำตอบ! ทำไมคุณไม่ยอมรับอันนี้
Fabby

2

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

  1. เมานต์พาร์ติชันเป้าหมาย
  2. วิ่ง dd if=/dev/zero of=<path_to_partition_volume>/file.dd && rm <path_to_partition_volume>/file.dd
  3. ถอนติดตั้งพาร์ติชันเป้าหมาย

แล้ว:


คุณสามารถอ่านบล็อกพาร์ทิชันทั้งหมดโดยการบล็อกและทุกอย่างที่ส่งออกไปยังยูทิลิตี้การบีบอัดเช่นdd gzipเครื่องมือบีบอัดส่วนใหญ่มักใช้การตั้งค่าการบีบอัดที่เร็วที่สุด / ต่ำสุดจะบีบอัดพื้นที่ว่างทั้งหมดในระหว่างกระบวนการ

ด้วยgzip:

sudo dd if=/dev/sdX | GZIP=-1 gzip >/path/to/backup.gz

( GZIP=-1ตั้งค่าตัวแปรสภาพแวดล้อมเป็นการชั่วคราวGZIPเพื่อ-1ให้ได้การบีบอัดที่เร็วที่สุด / ต่ำสุด)

วิธีคืนค่าสำเนาสำรอง:

gzip -d /path/to/backup.gz >/dev/sdX


คุณคิดอย่างไรเกี่ยวกับการลดขนาดพาร์ติชันด้วย gparted ก่อนที่จะใช้ดิสก์เพื่อสำรองข้อมูล

@cipricus ดีกว่ารอให้คนอื่นพูดบางอย่างเกี่ยวกับเรื่องนี้เพราะฉันไม่แน่ใจว่าแม้จะยากฉันคิดว่ามันควรจะทำแบบนั้นอย่างใดอย่างหนึ่ง
kos

@ kos ฉันพบคำสั่ง ddrescue ที่คุณให้มาสร้างภาพได้อย่างง่ายดาย แต่ก็ไม่ได้ลดขนาดของไฟล์เลย ฉันถ่ายภาพพาร์ติชัน NTFS ไปยัง ext4 ซึ่งทั้งคู่ดูเหมือนจะทำงานกับไฟล์ที่กระจัดกระจาย แต่ขนาดไฟล์. img ที่แสดงใน Nautilus ตรงกับขนาดพาร์ติชั่นดั้งเดิม ดังนั้นดูเหมือนว่าเล่นซอกับ gParted อาจยังจำเป็น?
PhilJ

1

วิธีการเกี่ยวกับการใช้ddrescueกับ-Sตัวเลือก?

ddrescue -S /dev/sdXY /<path_to_backup>/backup.img

นี้จะโคลนแต่ละบล็อก แต่ศูนย์บล็อกที่พบในอุปกรณ์ป้องกัน/dev/sdXYการ/<path_to_backup>/backup.img


ฟังดูดี. แต่สิ่งที่จะเป็นคำสั่งในการเรียกคืนภาพ?

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

0

ไม่สามารถใช้ทำสำเนาไปยังไดรฟ์ขนาดเล็กกว่าได้ เมื่อฉันมีไดรฟ์ 64 Gb ที่เต็มไปด้วยข้อมูลเพียง 10% ฉันต้องการที่จะสามารถคัดลอกไฟล์นั้นไปยังไฟล์อิมเมจ 6 Gb ที่ฉันสามารถคัดลอกเมื่อถึงไดรฟ์ 16Gb และขยายได้ถึง 16 gb

ความเป็นไปได้เดียวที่ฉันรู้ตอนนี้คือใช้ GParted เพื่อย่อขนาดต้นฉบับคัดลอกและปรับขนาดทั้งสองแล้ว การดำเนินการที่มีความเสี่ยงมากเนื่องจากคุณจำเป็นต้องลดขนาดและปรับขนาดต้นฉบับ


0

คุณสามารถใช้rsyncเพื่อสำรองข้อมูลเพียงไฟล์ในพาร์ติชันไปยังพาร์ติชันอื่น หรือtarเพื่อสร้างไฟล์บีบอัดที่มีไฟล์ทั้งหมด

ทั้งสองอาจมี GUI (หลายตัว) แต่ฉันไม่เคยใช้มันเลย


0

Clonezilla สามารถเป็นมิตรได้ ซีดีสดไม่จำเป็นต้องใช้บรรทัดคำสั่งใด ๆ - ฉันยินดีที่จะเรียกมันว่า GUI แม้ว่าจะไม่ได้ใช้เมาส์ - และฉันคิดว่าค่าเริ่มต้นนั้นใช้ได้สำหรับกรณีต่างๆ ปัญหาคือสิ่งที่คุณไม่ได้เรียกออกมาอย่างชัดเจน: ดูเหมือนว่ามันจะไม่ได้รับการออกแบบมาเป็นสิ่งที่คุณสามารถติดตั้งบนระบบ Linux โดยพลการ แพคเกจสำหรับ Debian / Ubuntu โดยเฉพาะและ Live CD เป็นวิธีที่ง่ายที่สุดในการรัน


Clonezilla / partclone ใช้การโคลนตระหนักถึงระบบไฟล์และใช้รูปแบบภาพที่บีบอัดของตัวเอง

มีความเป็นไปได้ที่ไม่ใช่แบบ GUI ในการสร้างไฟล์แบบกระจาย (ง่าย) ซึ่งไม่ต้องพึ่งพาการตรวจจับเซกเตอร์เป็นศูนย์

virt-sparsify /dev/your-block-device backup.img

หาก / tmp เป็น ramdisk มันจะเตือนว่ามันอาจต้องใช้พื้นที่มากขึ้นสำหรับไฟล์ชั่วคราว --tmp /var/tmpดังนั้นคุณอาจต้องเพิ่มตัวเลือก


ฉันพบวิธีการ virt-sparsify จะลดขนาดของไฟล์. img ได้อย่างแน่นอน แต่มันต้องใช้ไดเร็กตอรี่ขนาดใหญ่มาก / tmp โดยประมาณเท่ากับขนาดของพาร์ติชั่นที่ถูกถ่ายภาพ มันให้ข้อความเตือน แต่เมื่อฉันลองใช้ตัวเลือก --tmp ที่แสดงไว้ด้านบน (เปลี่ยนแปลงสำหรับการตั้งค่าของฉัน) มันทำให้ฉัน> ตัวเลือกที่ไม่รู้จัก `- tmp 'ตอนนี้ฉันไม่แน่ใจว่าจะทำยังไง และคำแนะนำใด ๆ ที่จะเป็นประโยชน์กับฉันและผู้อ่านในอนาคตของโพสต์นี้
PhilJ

ระบุvirt-sparsify --version? ตัวเลือกนั้นได้รับการบันทึกไว้ในเหมือง ( man virt-sparsify) ... ฉันไม่สามารถสาบานได้ว่าฉันเคยใช้ แต่อย่างน้อยปัจจุบันของฉัน/tmpคือ tmpfs หากคุณสามารถใช้--in-placeดูเหมือนว่าจะหลีกเลี่ยงการจัดเก็บชั่วคราว TMPDIR=/var/tmp virt-sparsify ...สุดท้ายคุณอาจลองรวม เอกสารสำหรับรุ่นของฉันบอกว่าเป็นวิธีที่คุณต้องตั้งค่า tmp dir สำหรับรุ่นก่อนหน้า 1.28
sourcejedi
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.