ในระยะสั้น - ภาพรวมเป็นวิธีการแช่แข็งภาคที่ใช้ใน HardDisk บอกให้ระบบเขียนการเปลี่ยนแปลง / ลบ / เพิ่มในส่วนที่สงวนไว้ของ HardDisk ที่เรียกว่าสแน็ปช็อตไดรฟ์จึงเลื่อนการตัดสินใจของการเก็บ / ทิ้งการเปลี่ยนแปลง บนไดรฟ์ในบางครั้งในอนาคตเท่าที่มีปริมาณพื้นที่สแนปช็อตให้ ดังนั้นเมื่อคุณตัดสินใจย้อนการเปลี่ยนแปลง (หรือเก็บไว้) คุณสามารถทำได้ด้วยหนึ่งบรรทัด
หากคุณไม่มีกลุ่มวอลุ่มที่กำหนดค่าล่วงหน้าคุณอาจต้องติดตั้ง Ubuntu ใหม่ที่สะอาด จากนั้นคุณจะต้องใส่ความพยายามบางอย่างในการกำหนดค่าระบบได้อย่างถูกต้องเป็นครั้งแรก แต่จากจุดนี้จะกลายเป็นภาพรวมได้อย่างง่ายดาย และโดยง่ายฉันหมายถึงหนึ่งคำสั่งซับโดยใช้สคริปต์ที่กำหนดไว้ล่วงหน้า
- เปิดใช้งาน Ubuntu สดซีดี (ยังไม่มีการติดตั้ง .. เพียงแค่ซีดีสด)
- เปิดอุปกรณ์เสริม -> เทอร์มินัล
เราจะทำการล้างฮาร์ดไดรฟ์! โปรดสำรองข้อมูลสำคัญก่อนที่จะผ่านด่านนี้
ก่อนอื่นมาลบพาร์ติชั่นที่มีอยู่:
# fdisk /dev/sda
Enter 'd' to delete - enter for as many partitions you have
> d
> <enter>
...
Enter 'w' to write down changes
> w
สร้างพาร์ติชันสำหรับเริ่มระบบและส่วนที่เหลือของไดรฟ์เป็นพาร์ติชันอื่น
# fdisk /dev/sda
> n
To create a new partition.
> p
For Boot Primary partition.
> 1
Press <enter> to accept the default start sector.
Enter:
> +512M
To give the boot partition a size of 512MB
> n
To create (another) new partition.
> p
Should be Primary too.
> <enter>
To accept the default value of 2 (the second partition)
> <enter>
To accept the default start sector
> <enter>
To accept the whole disk
> t
To change the type of the second partition to LVM
> 2
To choose the second partition
> 8e
To set the type to 'LVM Linux'
> w
To write changes and exit.
วิธีตรวจสอบว่าการเปลี่ยนแปลงทำงานได้ดีหรือไม่:
# fdisk --list
คุณควรได้รับสิ่งนี้:
Device Boot Start End Blocks Id System
/dev/sda1 2048 524287 261120 83 Linux
/dev/sda2 524288 488397167 243936440 8e Linux LVM
ลบกลุ่มวอลุ่มก่อนหน้า / โลจิคัลวอลุ่มใด ๆ :
# lvdisplay
จะแสดงโลจิคัลวอลุ่มที่คุณอาจมีในระบบ
# lvremove <existing_logical_volume_name>
หากการติดตั้งไดรฟ์ใด ๆ ที่อาจรบกวนการติดตั้งนี้จะต้องถูกลบออก
# vgdisplay
จะแสดงกลุ่มวอลุ่มที่มีอยู่บนระบบ
# vgremove <existing_volume_group>
เช่นเดียวกับกลุ่มวอลุ่ม ..
สร้างกลุ่มวอลุ่ม 'vgsnap'
# vgcreate vgsnap /dev/sda2
ควรมีผลลัพธ์ด้วย:
Volume group "vgsnap" successfully created
สร้างโลจิคัลวอลุ่ม
# lvcreate --extents 100%FREE --name lvroot vgsnap
โลจิคัลวอลุ่ม root ที่เริ่มต้นด้วยอุปกรณ์ 100%
# lvresize --size -30G /dev/mapper/vgsnap-lvroot
สิ่งนี้จะลด 30G สำหรับปริมาณการสลับและภาพรวม แน่นอน - คุณสามารถเลือกขนาดที่เล็กลงสำหรับ swap / snapshot
> 'y'
for the warning shown.
และสร้างปริมาณการแลกเปลี่ยน:
# lvcreate --size 15G --name lvswap vgsnap
หมายเหตุ: ตอนนี้เราเหลือพื้นที่ไดรฟ์ที่ไม่ได้ใช้ 15G ซึ่งสงวนไว้สำหรับสแนปชอตในอนาคต
กำลังติดตั้ง Ubuntu
ปิด terimnal และเริ่มโปรแกรมติดตั้ง
เลือก "ใช้ LVM ... " (คุณอาจเลือกที่จะเปิดใช้งานการเข้ารหัสดิสก์ทั้งหมด - แต่ฉันไม่ได้ทดสอบ .. )
เลือก "Something Else" แล้วกดดำเนินการต่อ ในขั้นตอนนี้คุณจะพบปริมาณ / dev / mapper / ... ที่กำหนด สิ่งเหล่านี้บางส่วนสร้างขึ้นโดยอัตโนมัติ (lvsnap- *) - คุณสามารถเพิกเฉยได้
เลือก: / dev / mapper / vgsnap-lvroot เลือก "ext4" เป็นรูปแบบและเมานต์เป็น '/'
เลือก: / dev / mapper / vgsnap-lvswap และเลือก "พื้นที่สว็อป"
หากคุณต้องการสร้างไดรฟ์ที่เข้ารหัส (ฉันไม่มีเงื่อนงำว่าจะทำงานกับสแน็ปช็อตหรือไม่) คุณอาจต้องการเลือก / dev / sda2 และทำเครื่องหมาย "โวลุ่มสำหรับการเข้ารหัส" ไม่ได้ทดสอบว่า ..
หมายเหตุ: 15G ที่ไม่ได้ใช้จะถูกปล่อยให้ว่างสำหรับปริมาณสแนปชอต
เลือก: / dev / sda1 พาร์ติชัน จัดรูปแบบเป็น 'ext2' และติดตั้งเป็น '/ boot'
ด้านล่าง - เลือก: / dev / sda1 พาร์ติชันเป็นการบู๊ต
ติดตั้ง!
การติดตั้งสแนปชอต:
สร้างปริมาณสแนปช็อต
# lvcreate --size 15G --snapshot --name lvsnap /dev/mapper/vgsnap-lvroot
สร้างไดเรกทอรีติด
# mkdir /mnt/vgsnap-lvsnap
เมานต์สแน็ปช็อตเป็นเมานต์อ่านอย่างเดียว
# mount -o ro /dev/vgsnap/lvsnap /mnt/vgsnap-lvsnap
สแนปชอตเปิดอยู่!
ณ จุดนี้คุณอาจเริ่มสับสนระบบของคุณติดตั้งไดรเวอร์เบต้าและแม้กระทั่ง (ไม่!
จากนี้ไปคุณสามารถได้ตลอดเวลา (เท่าขนาดสแน็ปช็อตให้ .. ) กลับสู่สถานะก่อนหน้าหรือถ้าพอใจกับรูปลักษณ์ใหม่ - เก็บไว้
ปริมาณ snapshot อัตโนมัติพื้นที่ว่างในดิสก์การตรวจสอบ: การใช้รุ่นเอ็นดูของสคริปต์ให้ไว้ที่นี่:
http://blog.rimuhosting.com/2012/02/20/cron-script-for-checking-disk-space/
ฉันสร้างmonitor_snapshotสคริปต์ .
จะใช้ / ติดตั้งได้อย่างไร? - สวยมากเช่นเดียวกับลิงค์ด้านบน:
# cd /etc/cron.hourly
# copy /home/<user>/Downloads/monitor_snapshot
# chmod +x monitor_snapshot
ก่อนเรียกใช้เป็นครั้งแรกคุณควรแก้ไขค่าต่างๆเช่นที่อยู่อีเมลของคุณ (ซึ่งจะมีการส่งการแจ้งเตือน ฯลฯ ) หากกำหนดค่าไว้อย่างถูกต้อง cron daemon จะเรียกใช้สคริปต์ทุก ๆ X ชั่วโมง / วัน - ตามที่คุณตัดสินใจ - และแจ้งให้คุณทราบเมื่อสแนปชอตกำลังจะเต็ม
เพื่อทดสอบการเรียกใช้สคริปต์:
# sh /etc/cron.hourly/monitor_snapshot
มันจะพิมพ์เปอร์เซ็นต์ (จำนวน) ของพื้นที่ว่างในภาพรวม
สิ่งสำคัญ! เมื่อคุณทำการทดสอบ / ติดตั้งเสร็จแล้ว - ย้อนกลับหรือทำการเปลี่ยนแปลง - และเก็บภาพสแนปชอต!
การย้อนกลับการเปลี่ยนแปลง: (ดูที่rollback_snapshot script พร้อมคำแนะนำต่อไปนี้เชื่อมโยงท้ายเอกสาร)
# lvconvert --merge /dev/vgsnap/lvsnap
นี่จะเป็นการขยายภาพรวม แต่จะยกเลิกการเปลี่ยนแปลงใด ๆ ของคุณ นอกจากนี้ - คุณจะเห็นคำเตือนที่แนะนำว่าการเปลี่ยนกลับจะเกิดขึ้นเฉพาะการเปิดใช้งานครั้งถัดไปดังนั้น:
# reboot
หมายเหตุ: หากคุณข้ามการรวมเข้าด้วยกันการเปลี่ยนแปลงของคุณจะได้รับการกำหนดเมื่อคุณเมานต์สแนปชอต
คอมมิชชันการเปลี่ยนแปลง - การเมานต์สแน็ปช็อต: (ดูสคริปต์commit_snapshotพร้อมคำแนะนำต่อไปนี้ - ลิงค์ที่ท้ายเอกสาร)
# umount /mnt/vgsnap-lvsnap
Will unmount (commit0 the snapshot
# lvremove /dev/mapper/vgsnap-lvsnap
# rm -rf /mnt/vgsnap-lvsnap/
# rm /etc/cron.hourly/monitor_snapshot
Remove the cron daemon script (that is unused)
Re: การติดตั้งภาพรวม (ดูremountสคริปต์ที่มีคำแนะนำต่อไปนี้ในมัน - ลิงค์ที่ส่วนท้ายของเอกสาร) สวยมากเหมือนก่อน:
# lvcreate --size 15G --snapshot --name lvsnap /dev/mapper/vgsnap-lvroot
# mkdir /mnt/vgsnap-lvsnap
# mount -o ro /dev/vgsnap/lvsnap /mnt/vgsnap-lvsnap
หากคุณบันทึกmonitor_snapshotที่บ้านของคุณคุณสามารถคืนค่าได้:
# cp /home/<user>/monitor_snapshot /etc/cron.hourly/
# chmod +x /etc/cron.hourly/monitor_snapshot