เชฆเชฟเชตเชธเชจเซ เชธเชฎเชฏ
เชนเซเช md RAID + LVM เชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ KVM เชฎเชพเชเซ เชกเซเชเชพ เชธเซเชเซเชฐเซเช เชธเชฟเชธเซเชเชฎ เชฌเชจเชพเชตเชตเชพเชจเซ เชฎเชพเชฐเซ เชตเซเชฏเชตเชนเชพเชฐเซ เช
เชจเซเชญเชต เชธเชฎเซเชฆเชพเชฏ เชธเชพเชฅเซ เชถเซเชฐ เชเชฐเชตเชพ เชฎเชพเชเชเซ เชเซเช.
เชชเซเชฐเซเชเซเชฐเชพเชฎเชฎเชพเช เชถเชพเชฎเซเชฒ เชนเชถเซ:
- NVMe SSD เชฎเชพเชเชฅเซ md RAID 1 เชจเซเช เชจเชฟเชฐเซเชฎเชพเชฃ.
- SATA SSD เช เชจเซ เชจเชฟเชฏเชฎเชฟเชค เชกเซเชฐเชพเชเชตเซเชฎเชพเชเชฅเซ md RAID 6 เชเชธเซเชฎเซเชฌเชฒ เชเชฐเชตเซเช.
- SSD RAID 1/6 เชชเชฐ TRIM/DSCARD เชเชชเชฐเซเชถเชจเชจเซ เชตเชฟเชถเซเชทเชคเชพเช.
- เชกเชฟเชธเซเชเชจเชพ เชธเชพเชฎเชพเชจเซเชฏ เชธเชฎเซเชน เชชเชฐ เชฌเซเช เชเชฐเซ เชถเชเชพเชฏ เชคเซเชตเซ md RAID 1/6 เชเชฐเซ เชฌเชจเชพเชตเซ เชฐเชนเซเชฏเชพ เชเซ.
- เชเซเชฏเชพเชฐเซ BIOS เชฎเชพเช NVMe เชธเชชเซเชฐเซเช เชจ เชนเซเชฏ เชคเซเชฏเชพเชฐเซ NVMe RAID 1 เชชเชฐ เชธเชฟเชธเซเชเชฎ เชเชจเซเชธเซเชเซเชฒ เชเชฐเซ เชฐเชนเซเชฏเซเช เชเซ.
- LVM เชเซเชถ เช เชจเซ LVM เชชเชพเชคเชณเซเช เชตเชพเชชเชฐเซเชจเซ.
- BTRFS เชธเซเชจเซเชชเชถเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เช เชจเซ เชฌเซเชเช เชช เชฎเชพเชเซ เชฎเซเชเชฒเซ/เชชเซเชฐเชพเชชเซเชค เชเชฐเซ.
- BTRFS เชถเซเชฒเซ เชฌเซเชเช เชช เชฎเชพเชเซ LVM เชชเชพเชคเชณเชพ เชธเซเชจเซเชชเชถเซเช เช เชจเซ thin_delta เชจเซ เชเชชเชฏเซเช.
เชเซ เชคเชฎเชจเซ เชฐเชธ เชนเซเชฏ, เชคเซ เชเซเชชเชพ เชเชฐเซเชจเซ เชฌเชฟเชฒเชพเชกเซ เชเซเช.
เช เชฐเชเซ เชซเซเชฐเซเชฎ
เช เชฒเซเชเชฎเชพเชเชฅเซ เชธเชพเชฎเชเซเชฐเซ/เชเชฆเชพเชนเชฐเชฃเซ/เชเซเชก/เชเซเชชเซเชธ/เชกเซเชเชพเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพ เช เชฅเชตเชพ เชจ เชเชฐเชตเชพเชจเชพ เชชเชฐเชฟเชฃเชพเชฎเซ เชฎเชพเชเซ เชฒเซเชเช เชเซเช เชเชตเชพเชฌเชฆเชพเชฐเซ เชธเชนเชจ เชเชฐเชคเซเช เชจเชฅเซ. เช เชธเชพเชฎเชเซเชฐเซเชจเซ เชเซเชเชชเชฃ เชฐเซเชคเซ เชตเชพเชเชเซเชจเซ เช เชฅเชตเชพ เชคเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ, เชคเชฎเซ เช เชเซเชฐเชฟเชฏเชพเชเชจเชพ เชคเชฎเชพเชฎ เชชเชฐเชฟเชฃเชพเชฎเซ เชฎเชพเชเซ เชเชตเชพเชฌเชฆเชพเชฐเซ เชธเซเชตเซเชเชพเชฐเซ เชเซ. เชธเชเชญเชตเชฟเชค เชชเชฐเชฟเชฃเชพเชฎเซเชฎเชพเช เชถเชพเชฎเซเชฒ เชเซ:
- เชเชชเชณ-เชคเชณเซเชฒเซ NVMe SSDs.
- เชฐเซเชเซเชฐเซเชกเชฟเชเช เชธเชเชธเชพเชงเชจเชจเซ เชธเชเชชเซเชฐเซเชฃ เชเชชเชฏเซเช เช เชจเซ SSD เชกเซเชฐเชพเชเชตเชจเซ เชจเชฟเชทเซเชซเชณเชคเชพ.
- เชฌเซเชเช เชช เชจเชเชฒเซ เชธเชนเชฟเชค เชคเชฎเชพเชฎ เชกเซเชฐเชพเชเชตเซเชธ เชชเชฐเชจเชพ เชคเชฎเชพเชฎ เชกเซเชเชพเชจเซ เชธเชเชชเซเชฐเซเชฃ เชเซเช.
- เชเชพเชฎเซเชฏเซเชเซเชค เชเชฎเซเชชเซเชฏเซเชเชฐ เชนเชพเชฐเซเชกเชตเซเชฐ.
- เชธเชฎเชฏ, เชเซเชเชพเชจเชคเชเชคเซ เช เชจเซ เชชเซเชธเชพเชจเซ เชฌเชเชพเชก.
- เชเซเชเชชเชฃ เช เชจเซเชฏ เชชเชฐเชฟเชฃเชพเชฎเซ เชเซ เชเซ เชเชชเชฐ เชธเซเชเชฟเชฌเชฆเซเชง เชจเชฅเซ.
เชเชฏเชฐเซเชจ
เชเชชเชฒเชฌเซเชง เชนเชคเชพ:
Z2013 เชเชฟเชชเชธเซเช เชธเชพเชฅเซ 87 เชจเซเช เชฎเชงเชฐเชฌเซเชฐเซเชก, Intel Core i7 / Haswell เชธเชพเชฅเซ เชชเซเชฐเซเชฃ.
- เชชเซเชฐเซเชธเซเชธเชฐ 4 เชเซเชฐเซ, 8 เชฅเซเชฐเซเชกเซ
- 32 เชเซเชฌเซ เชกเซเชกเซเชเชฐ 3 เชฐเซเชฎ
- 1 x 16 เช เชฅเชตเชพ 2 x 8 PCIe 3.0
- 1 x 4 + 1 x 1 PCIe 2.0
- 6 x 6 GBps SATA 3 เชเชจเซเชเซเชเชฐเซเชธ
SAS เชเชกเซเชชเซเชเชฐ LSI SAS9211-8I IT/HBA เชฎเซเชก เชชเชฐ เชซเซเชฒเซเชถ เชฅเชฏเซเช. RAID-เชธเชเซเชทเชฎ เชซเชฐเซเชฎเชตเซเชฐเชจเซ เชเชฐเชพเชฆเชพเชชเซเชฐเซเชตเช HBA เชซเชฐเซเชฎเชตเซเชฐ เชธเชพเชฅเซ เชฌเชฆเชฒเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช เชเซ:
- เชคเชฎเซ เชเซเชเชชเชฃ เชธเชฎเชฏเซ เช เชเชกเซเชชเซเชเชฐเชจเซ เชซเซเชเชเซ เชถเชเซ เชเซ เช เชจเซ เชคเซเชจเซ เชคเชฎเซ เชเชเซเชฌเชพเชเซเชจเชพ เชเซเชเชชเชฃ เช เชจเซเชฏ เชธเชพเชฅเซ เชฌเชฆเชฒเซ เชถเชเซ เชเซ.
- TRIM/Discard เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ เชกเชฟเชธเซเช เชชเชฐ เชเชพเชฎ เชเชฐเซ เชเซ, เชเชพเชฐเชฃ เชเซ... RAID เชซเชฐเซเชฎเชตเซเชฐเชฎเชพเช เช เชเชฆเซเชถเซ เชฌเชฟเชฒเชเซเชฒ เชเชงเชพเชฐเชญเซเชค เชจเชฅเซ, เช เชจเซ HBA, เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ, เชฌเชธ เชชเชฐ เชเชฏเชพ เชเชฆเซเชถเซ เชชเซเชฐเชธเชพเชฐเชฟเชค เชฅเชพเชฏ เชเซ เชคเซเชจเซ เชเชพเชณเชเซ เชฒเซเชคเซเช เชจเชฅเซ.
เชนเชพเชฐเซเชก เชกเซเชฐเชพเชเชตเซ - เชฒเซเชชเชเซเชชเชจเซ เชเซเชฎ 8 เชซเซเชฐเซเชฎ เชซเซเชเซเชเชฐเชฎเชพเช 7 TB เชจเซ เชเซเชทเชฎเชคเชพ เชธเชพเชฅเซ HGST Travelstar 1000K1 เชจเชพ 2.5 เชเซเชเชกเชพเช. เช เชกเซเชฐเชพเชเชตเซ เช เชเชพเช RAID 6 เชเชฐเซเชฎเชพเช เชนเชคเซ. เชจเชตเซ เชธเชฟเชธเซเชเชฎเชฎเชพเช เชคเซเชจเซ เชชเชฃ เชเชชเชฏเซเช เชฅเชถเซ. เชธเซเชฅเชพเชจเชฟเช เชฌเซเชเช เชช เชธเชเชเซเชฐเชนเชตเชพ เชฎเชพเชเซ.
เชตเชงเซเชฎเชพเช เชเชฎเซเชฐเซเชฏเซเช:
6 เชเซเชเชกเชพเช SATA SSD เชฎเซเชกเซเชฒ Samsung 860 QVO 2TB. เช SSD เชจเซ เชฎเซเชเซ เชฎเชพเชคเซเชฐเชพ, SLC เชเซเชถเชจเซ เชนเชพเชเชฐเซ, เชตเชฟเชถเซเชตเชธเชจเซเชฏเชคเชพ เช เชจเซ เชเชเซ เชเชฟเชเชฎเชคเชจเซ เชเชฐเซเชฐ เชนเชคเซ. เชเชพเชขเซ เชจเชพเชเซ/เชถเซเชจเซเชฏ เชฎเชพเชเซ เชเชงเชพเชฐ เชเชฐเซเชฐเซ เชนเชคเซ, เชเซ dmesg เชฎเชพเช เชฒเชพเชเชจ เชฆเซเชตเชพเชฐเชพ เชคเชชเชพเชธเชตเชพเชฎเชพเช เชเชตเซ เชเซ:
kernel: ata1.00: Enabling discard_zeroes_data
NVMe SSD เชฎเซเชกเชฒ Samsung SSD 2 EVO 970GB เชจเชพ 500 เชเซเชเชกเชพเช.
เช SSDs เชฎเชพเชเซ, เชคเชฎเชพเชฐเซ เชเชฐเซเชฐเชฟเชฏเชพเชคเซ เชฎเชพเชเซ เชฐเซเชจเซเชกเชฎ เชตเชพเชเชเชจ/เชฒเชเชตเชพเชจเซ เชเชกเชช เช เชจเซ เชธเชเชธเชพเชงเชจ เชเซเชทเชฎเชคเชพ เชฎเชนเชคเซเชตเชชเซเชฐเซเชฃ เชเซ. เชคเซเชฎเชจเชพ เชฎเชพเชเซ เชฐเซเชกเชฟเชฏเซเชเชฐ. เชเชฐเซเชฐเซ. เชธเชเชชเซเชฐเซเชฃเชชเชฃเซ. เชจเชนเชฟเชเชคเชฐ, เชชเซเชฐเชฅเชฎ RAID เชธเชฟเชเชเซเชฐเชจเชพเชเชเซเชถเชจ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชคเซเชฎเชจเซ เชเซเชฐเชฟเชธเซเชชเซ เชฅเชพเชฏ เชคเซเชฏเชพเช เชธเซเชงเซ เชซเซเชฐเชพเชฏ เชเชฐเซ.
PCIe 8 2x เชธเซเชฒเซเชเชฎเชพเช เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเชฒ 2 x NVMe SSD เชฎเชพเชเซ StarTech PEX2M3.0E8 เชเชกเซเชชเซเชเชฐ. เช, เชซเชฐเซเชฅเซ, เชฎเชพเชคเซเชฐ เชเช HBA เชเซ, เชชเชฐเชเชคเซ NVMe เชฎเชพเชเซ. เชคเซ เชธเชธเซเชคเชพ เชเชกเซเชชเซเชเชฐเซเชฅเซ เช เชฒเช เชเซ เชเซเชฎเชพเช เชฌเชฟเชฒเซเช-เชเชจ PCIe เชธเซเชตเซเชเชจเซ เชนเชพเชเชฐเซเชจเซ เชเชพเชฐเชฃเซ เชคเซเชจเซ เชฎเชงเชฐเชฌเซเชฐเซเชกเชฅเซ PCIe เชฆเซเชตเชฟเชญเชพเชเชจ เชธเชชเซเชฐเซเชเชจเซ เชเชฐเซเชฐ เชจเชฅเซ. เชคเซ PCIe เชธเชพเชฅเซ เชธเซเชฅเซ เชชเซเชฐเชพเชเซเชจ เชธเชฟเชธเซเชเชฎเชฎเชพเช เชชเชฃ เชเชพเชฎ เชเชฐเชถเซ, เชชเชเซ เชญเชฒเซ เชคเซ x1 PCIe 1.0 เชธเซเชฒเซเช เชนเซเชฏ. เชธเซเชตเชพเชญเชพเชตเชฟเช เชฐเซเชคเซ, เชฏเซเชเซเชฏ เชเชกเชชเซ. เชคเซเชฏเชพเช เชเซเช RAID เชจเชฅเซ. เชฌเซเชฐเซเชก เชชเชฐ เชเซเช เชฌเชฟเชฒเซเช-เชเชจ BIOS เชจเชฅเซ. เชคเซเชฅเซ, เชคเชฎเชพเชฐเซ เชธเชฟเชธเซเชเชฎ เชเชพเชฆเซเช เชฐเซเชคเซ NVMe เชธเชพเชฅเซ เชฌเซเช เชเชฐเชตเชพเชจเซเช เชถเซเชเชถเซ เชจเชนเซเช, เช เชเชชเชเชฐเชฃเชจเซ เชเชญเชพเชฐเซ NVMe RAID เชเชฃเซเช เชเชเซเช เชเซ.
เช เชเชเช เชซเชเซเชค เชธเชฟเชธเซเชเชฎเชฎเชพเช เชฎเชพเชคเซเชฐ เชเช เชฎเชซเชค 8x PCIe 3.0 เชจเซ เชนเชพเชเชฐเซเชจเซ เชเชพเชฐเชฃเซ เชนเชคเซเช, เช เชจเซ, เชเซ เชคเซเชฏเชพเช 2 เชฎเชซเชค เชธเซเชฒเซเช เชนเซเชฏ, เชคเซ เชคเซเชจเซ เชธเชฐเชณเชคเชพเชฅเซ เชฌเซ เชชเซเชจเซ PEX4M2E1 เช เชฅเชตเชพ เชเชจเชพเชฒเซเช เชธเชพเชฅเซ เชฌเชฆเชฒเซ เชถเชเชพเชฏ เชเซ, เชเซ 600เชจเซ เชเชฟเชเชฎเชคเซ เชเชฎเซ เชคเซเชฏเชพเช เชเชฐเซเชฆเซ เชถเชเชพเชฏ เชเซ. เชฐเซเชฌเชฒ
เชคเชฎเชพเชฎ เชชเซเชฐเชเชพเชฐเชจเชพ เชนเชพเชฐเซเชกเชตเซเชฐ เช เชฅเชตเชพ เชฌเชฟเชฒเซเช-เชเชจ เชเชฟเชชเชธเซเช/BIOS RAID เชจเซ เช เชธเซเชตเซเชเชพเชฐ เชเชฐเชพเชฆเชพเชชเซเชฐเซเชตเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซ เชนเชคเซ, เชเซเชฅเซ เชคเชฎเชพเชฎ เชกเซเชเชพเชจเซ เชธเชพเชเชตเซเชจเซ, SSD/HDDเชจเชพ เช เชชเชตเชพเชฆ เชธเชฟเชตเชพเชฏ, เชธเชฎเชเซเชฐ เชธเชฟเชธเซเชเชฎเชจเซ เชธเชเชชเซเชฐเซเชฃเชชเชฃเซ เชฌเชฆเชฒเซ เชถเชเชพเชฏ. เชเชฆเชฐเซเชถเชฐเซเชคเซ, เชเซเชฅเซ เชคเชฎเซ เชธเชเชชเซเชฐเซเชฃเชชเชฃเซ เชจเชตเชพ/เชตเชฟเชตเชฟเชง เชนเชพเชฐเซเชกเชตเซเชฐ เชชเชฐ เชเชคเซ เชตเชเชคเซ เชธเซเชฅเชพเชชเชฟเชค เชเชชเชฐเซเชเชฟเชเช เชธเชฟเชธเซเชเชฎเชจเซ เชชเชฃ เชธเชพเชเชตเซ เชถเชเซ. เชฎเซเชเซเชฏ เชตเชธเซเชคเซ เช เชเซ เชเซ เชคเซเชฏเชพเช SATA เช เชจเซ PCIe เชชเซเชฐเซเช เชเซ. เชคเซ เชฒเชพเชเชต เชธเซเชกเซ เช เชฅเชตเชพ เชฌเซเช เชเชฐเซ เชถเชเชพเชฏ เชคเซเชตเซ เชซเซเชฒเซเชถ เชกเซเชฐเชพเชเชต เชเซเชตเซ เชเซ, เชฎเชพเชคเซเชฐ เชเซเชฌ เช เชเชกเชชเซ เช เชจเซ เชฅเซเชกเซ เชฎเซเชเซ.
เชตเชฟเชจเซเชฆเซเชจเชนเชฟเชเชคเชฐ, เชคเชฎเซ เชเชพเชฃเซ เชเซ เชเซ เชถเซเช เชฅเชพเชฏ เชเซ - เชเซเชเชฒเซเชเชตเชพเชฐ เชคเชฎเชพเชฐเซ เชคเชพเชเซเชฆเซ เชธเชฎเชเซเชฐ เชเชฐเซเชจเซ เชคเชฎเชพเชฐเซ เชธเชพเชฅเซ เชฒเช เชเชตเชพเชจเซ เชเชฐเซเชฐ เชชเชกเซ เชเซ. เชชเชฐเชเชคเซ เชนเซเช เชกเซเชเชพ เชเซเชฎเชพเชตเชตเชพ เชฎเชพเชเชเชคเซ เชจเชฅเซ. เช เชเชฐเชตเชพ เชฎเชพเชเซ, เชคเชฎเชพเชฎ เชเชฒเซเชฒเซเชเชฟเชค เชฎเชพเชงเซเชฏเชฎเซ เชชเซเชฐเชฎเชพเชฃเชญเซเชค เชเซเชธเชจเซ 5.25 เชฌเซเชเชฎเชพเช เชธเซเชฒเชพเชเชกเซเชธ เชชเชฐ เช เชจเซเชเซเชณ เชฐเซเชคเซ เชธเซเชฅเชฟเชค เชเซ.
เชธเชพเชฐเซเช, เช เชจเซ, เช เชฒเชฌเชคเซเชค, Linux เชฎเชพเช SSD เชเซเชถเซเชเชเชจเซ เชตเชฟเชตเชฟเชง เชชเชฆเซเชงเชคเชฟเช เชธเชพเชฅเซ เชชเซเชฐเชฏเซเช เชเชฐเชตเชพ เชฎเชพเชเซ.
เชนเชพเชฐเซเชกเชตเซเชฐ เชฆเชฐเซเชกเชพ เชเชเชเชพเชณเชพเชเชจเช เชเซ. เชเชพเชฒเซ เชเชฐเซ. เชคเซ เชเชพเช เชคเซ เชเชพเชฎ เชเชฐเซ เชเซ เช เชฅเชตเชพ เชคเซ เชจเชฅเซ เชเชฐเชคเซเช. เช เชจเซ mdadm เชธเชพเชฅเซ เชนเชเชฎเซเชถเชพ เชตเชฟเชเชฒเซเชชเซ เชนเซเชฏ เชเซ.
เชธเซเชซเซเชเชตเซเชฐ
เช เชเชพเช, เชกเซเชฌเชฟเชฏเชจ 8 เชเซเชธเซ เชนเชพเชฐเซเชกเชตเซเชฐ เชชเชฐ เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช เชนเชคเซเช, เชเซ EOL เชจเซ เชจเชเซเช เชเซ. RAID 6 เช LVM เชธเชพเชฅเซ เชเซเชกเชพเชฏเซเชฒ เชเชชเชฐเซเชเซเชค HDDs เชฎเชพเชเชฅเซ เชเชธเซเชฎเซเชฌเชฒ เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช เชนเชคเซเช. เชคเซ เชตเชฐเซเชเซเชฏเซเช เชฒ เชฎเชถเซเชจเซ kvm/libvirt เชฎเชพเช เชเชฒเชพเชตเซ เชเซ.
เชเชพเชฐเชฃ เชเซ เชฒเซเชเชเชจเซ เชชเซเชฐเซเชเซเชฌเชฒ เชฌเซเชเซเชฌเชฒ SATA/NVMe เชซเซเชฒเซเชถ เชกเซเชฐเชพเชเชตเซเชธ เชฌเชจเชพเชตเชตเชพเชจเซ เชฏเซเชเซเชฏ เช เชจเซเชญเชต เชเซ, เช เชจเซ เชธเชพเชฎเชพเชจเซเชฏ เชฏเซเชเซเชฏ เชจเชฎเซเชจเชพเชจเซ เชจ เชคเซเชกเชตเชพ เชฎเชพเชเซ, เชเชฌเซเชจเซเชเซ 18.04 เชจเซ เชฒเชเซเชทเซเชฏ เชธเชฟเชธเซเชเชฎ เชคเชฐเซเชเซ เชชเชธเชเชฆ เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช เชนเชคเซเช, เชเซ เชชเชนเซเชฒเชพเชฅเซ เช เชชเซเชฐเชคเชพ เชชเซเชฐเชฎเชพเชฃเชฎเชพเช เชธเซเชฅเชฟเชฐ เชฅเช เชเชฏเซเช เชเซ, เชชเชฐเชเชคเซ เชนเชเซ เชชเชฃ 3 เชตเชฐเซเชท เชเซ. เชญเชตเชฟเชทเซเชฏเชฎเชพเช เชธเชชเซเชฐเซเช.
เชเชฒเซเชฒเซเชเชฟเชค เชธเชฟเชธเซเชเชฎเชฎเชพเช เชฌเชงเชพ เชนเชพเชฐเซเชกเชตเซเชฐ เชกเซเชฐเชพเชเชตเชฐเซ เชเซ เชเซ เชเชชเชฃเชจเซ เชฌเซเชเซเชธเชจเซ เชฌเชนเชพเชฐเชจเซ เชเชฐเซเชฐ เชเซ. เช เชฎเชจเซ เชเซเช เชคเซเชคเซเชฏ-เชชเชเซเชท เชธเซเชซเซเชเชตเซเชฐ เช เชฅเชตเชพ เชกเซเชฐเชพเชเชตเชฐเชจเซ เชเชฐเซเชฐ เชจเชฅเซ.
เชธเซเชฅเชพเชชเชจ เชฎเชพเชเซ เชคเซเชฏเชพเชฐเซ เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช
เชธเชฟเชธเซเชเชฎ เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเชพ เชฎเชพเชเซ เช เชฎเชจเซ เชเชฌเซเชจเซเชเซ เชกเซเชธเซเชเชเซเชช เชเชฎเซเชเชจเซ เชเชฐเซเชฐ เชเซ. เชธเชฐเซเชตเชฐ เชธเชฟเชธเซเชเชฎเชฎเชพเช เช เชฎเซเช เชชเซเชฐเชเชพเชฐเชจเซเช เชเซเชฐเชถเซเชฐเชฅเซ เชเชจเซเชธเซเชเซเชฒเชฐ เชนเซเชฏ เชเซ, เชเซ เช เชคเชฟเชถเชฏ เชธเซเชตเชคเชเชคเซเชฐเชคเชพ เชฆเชฐเซเชถเชพเชตเซ เชเซ เชเซ เชเซ UEFI เชธเชฟเชธเซเชเชฎ เชชเชพเชฐเซเชเซเชถเชจเชจเซ เชเช เชกเชฟเชธเซเช เชชเชฐ เชนเชฒเชพเชตเซเชจเซ เชฌเชงเซ เชธเซเชเชฆเชฐเชคเชพเชจเซ เชฌเชเชพเชกเซเชจเซ เช เชเซเชทเชฎ เชเชฐเซ เชถเชเชพเชคเซ เชจเชฅเซ. เชคเชฆเชจเซเชธเชพเชฐ, เชคเซ เชซเชเซเชค UEFI เชฎเซเชกเชฎเชพเช เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเชฒเซเช เชเซ. เชเซเชเชชเชฃ เชตเชฟเชเชฒเซเชชเซ เชเชซเชฐ เชเชฐเชคเซเช เชจเชฅเซ.
เช เชฎเซ เชเชจเชพเชฅเซ เชเซเชถ เชจเชฅเซ.
เชถเชพ เชฎเชพเชเซ?เชเชฎเชจเชธเซเชฌเซ, UEFI เชฌเซเช เชฌเซเช เชธเซเชซเซเชเชตเซเชฐ RAID เชธเชพเชฅเซ เช เชคเซเชฏเชเชค เชเชฐเชพเชฌ เชฐเซเชคเซ เชธเซเชธเชเชเชค เชเซ, เชเชพเชฐเชฃ เชเซ... UEFI ESP เชชเชพเชฐเซเชเซเชถเชจ เชฎเชพเชเซ เชเซเช เช เชฎเชจเซ เชฐเชฟเชเชฐเซเชตเซเชถเชจ เชเชซเชฐ เชเชฐเชคเซเช เชจเชฅเซ. เชเชจเชฒเชพเชเชจ เชตเชพเชจเชเซเช เชเซ เชเซ USB เชชเซเชฐเซเชเชฎเชพเช เชซเซเชฒเซเชถ เชกเซเชฐเชพเชเชต เชชเชฐ ESP เชชเชพเชฐเซเชเซเชถเชจ เชฎเซเชเชตเชพเชจเซเช เชธเซเชเชจ เชเชฐเซ เชเซ, เชชเชฐเชเชคเซ เช เชจเชฟเชทเซเชซเชณเชคเชพเชจเซ เชฎเซเชฆเซเชฆเซ เชเซ. เชฎเซเชเชพเชกเซเชเชพ เชธเชเชธเซเชเชฐเชฃ 1 เชธเชพเชฅเซ เชธเซเชซเซเชเชตเซเชฐ mdadm RAID 0.9 เชจเซ เชเชชเชฏเซเช เชเชฐเชคเซ เชตเชพเชจเชเซเช เชเซ เชเซ UEFI BIOS เชจเซ เช เชชเชพเชฐเซเชเซเชถเชจ เชเซเชตเชพเชฅเซ เช เชเชเชพเชตเชคเซ เชจเชฅเซ, เชชเชฐเชเชคเซ เช เชเซเชถ เชเซเชทเชฃ เชธเซเชงเซ เชเซเชตเซ เชเซ เชเซเชฏเชพเชฐเซ BIOS เช เชฅเชตเชพ เช เชจเซเชฏ เชนเชพเชฐเซเชกเชตเซเชฐ OS ESP เชชเชฐ เชเชเชเช เชฒเชเซ เชเซ เช เชจเซ เชคเซเชจเซ เช เชจเซเชฏ เชธเชพเชฅเซ เชธเชฟเชเชเซเชฐเชจเชพเชเช เชเชฐเชตเชพเชจเซเช เชญเซเชฒเซ เชเชพเชฏ เชเซ. เช เชฐเซเชธเชพเช
เชตเชงเซเชฎเชพเช, UEFI เชฌเซเช NVRAM เชชเชฐ เชเชงเชพเชฐ เชฐเชพเชเซ เชเซ, เชเซ เชกเชฟเชธเซเช เชธเชพเชฅเซ เชจเชตเซ เชธเชฟเชธเซเชเชฎเชฎเชพเช เชเชธเซเชกเชถเซ เชจเชนเซเช, เชเชพเชฐเชฃ เชเซ เชฎเชงเชฐเชฌเซเชฐเซเชกเชจเซ เชญเชพเช เชเซ.
เชคเซเชฅเซ, เช เชฎเซ เชจเชตเชพ เชเชเซเชฐเชจเซ เชซเชฐเซเชฅเซ เชถเซเชงเซเชถเซเช เชจเชนเซเช. เช เชฎเชพเชฐเซ เชชเชพเชธเซ เชชเชนเซเชฒเซเชฅเซ เช เชคเซเชฏเชพเชฐ, เชธเชฎเชฏ-เชเชเชพเชธเชพเชฏเซเชฒ เชฆเชพเชฆเชพเชจเซ เชฌเชพเชเช เชเซ, เชเซเชจเซ เชนเชตเซ เชฒเซเชเชธเซ/BIOS เชฌเซเช เชเชนเซเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชเซ UEFI- เชธเซเชธเชเชเชค เชธเชฟเชธเซเชเชฎเซเชธ เชชเชฐ CSM เชจเซเช เชเซเชฐเชตเชชเซเชฐเซเชฃ เชจเชพเชฎ เชงเชฐเชพเชตเซ เชเซ. เช เชฎเซ เชคเซเชจเซ เชซเชเซเชค เชถเซเชฒเซเชซเชฎเชพเชเชฅเซ เชเชคเชพเชฐเซเชถเซเช, เชคเซเชจเซ เชฒเซเชฌเซเชฐเชฟเชเซเช เชเชฐเซเชถเซเช, เชเชพเชฏเชฐ เชชเชเชช เชเชฐเซเชถเซเช เช เชจเซ เชญเซเชจเชพ เชเชชเชกเชพเชฅเซ เชคเซเชจเซ เชธเชพเชซ เชเชฐเซเชถเซเช.
เชเชฌเซเชจเซเชเซเชจเซเช เชกเซเชธเซเชเชเซเชช เชตเชฐเซเชเชจ เชชเชฃ เชฒเซเชเชธเซ เชฌเซเชเชฒเซเชกเชฐ เชธเชพเชฅเซ เชฏเซเชเซเชฏ เชฐเซเชคเซ เชเชจเซเชธเซเชเซเชฒ เชเชฐเซ เชถเชเชพเชคเซเช เชจเชฅเซ, เชชเชฐเชเชคเซ เช เชนเซเช, เชเซเชฎ เชคเซเช เชเชนเซ เชเซ, เชเชเชพเชฎเชพเช เชเชเชพ เชตเชฟเชเชฒเซเชชเซ เชเซ.
เช เชจเซ เชคเซเชฅเซ, เช เชฎเซ เชนเชพเชฐเซเชกเชตเซเชฐ เชเชเชคเซเชฐเชฟเชค เชเชฐเซเช เชเซเช เช เชจเซ เชเชฌเซเชจเซเชเซ เชฒเชพเชเชต เชฌเซเชเซเชฌเชฒ เชซเซเชฒเซเชถ เชกเซเชฐเชพเชเชตเชฎเชพเชเชฅเซ เชธเชฟเชธเซเชเชฎ เชฒเซเชก เชเชฐเซเช เชเซเช. เช เชฎเชพเชฐเซ เชชเซเชเซเชเซ เชกเชพเชเชจเชฒเซเชก เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชชเชกเชถเซ, เชคเซเชฅเซ เช เชฎเซ เชคเชฎเชพเชฐเชพ เชฎเชพเชเซ เชเชพเชฎ เชเชฐเชคเซเช เชจเซเชเชตเชฐเซเช เชธเซเช เชเชฐเซเชถเซเช. เชเซ เชคเซ เชเชพเชฎ เชเชฐเชคเซเช เชจเชฅเซ, เชคเซ เชคเชฎเซ เช เชเชพเชเชฅเซ เชซเซเชฒเซเชถ เชกเซเชฐเชพเชเชต เชชเชฐ เชเชฐเซเชฐเซ เชชเซเชเซเชเซ เชฒเซเชก เชเชฐเซ เชถเชเซ เชเซ.
เช เชฎเซ เชกเซเชธเซเชเชเซเชช เชชเชฐเซเชฏเชพเชตเชฐเชฃเชฎเชพเช เชเชเช เชเซเช, เชเชฐเซเชฎเชฟเชจเชฒ เชเชฎเซเชฏเซเชฒเซเชเชฐ เชฒเซเชเช เชเชฐเซเช เชเซเช, เช เชจเซ เช เชฎเซ เชเชเช เชเซเช:
#sudo bash
เชเซเชตเซ เชฐเซเชคเซโฆ?เชเชชเชฐเชจเซ เชฒเซเชเซ เชธเซเชกเซ เชตเชฟเชถเซ เชนเซเชฒเซเชตเชพเชฐ เชฎเชพเชเซ เชชเซเชฐเชฎเชพเชฃเชญเซเชค เชเซเชฐเชฟเชเชฐ เชเซ. เชธเซ เชฌเซะพเชตเชงเซ เชคเชเซ เชเชตเซ เชเซ เช
เชจเซะพเชตเชงเซ เชเชตเชพเชฌเชฆเชพเชฐเซ. เชชเซเชฐเชถเซเชจ เช เชเซ เชเซ เชถเซเช เชคเชฎเซ เชคเซเชจเซ เชคเชฎเชพเชฐเชพ เชชเชฐ เชฒเช เชถเชเซ เชเซ. เชเชฃเชพ เชฒเซเชเซ เชฎเชพเชจเซ เชเซ เชเซ เช เชฐเซเชคเซ เชธเซเชกเซเชจเซ เชเชชเชฏเซเช เชเชฐเชตเซ เชเชเชพเชฎเชพเช เชเชเซเช เชธเชพเชตเชเซเชคเซเชญเชฐเซเชฏเซเช เชจเชฅเซ. เชเซ เชเซ:
#apt-get install mdadm lvm2 thin-provisioning-tools btrfs-tools util-linux lsscsi nvme-cli mc
ZFS เชเซเชฎ เชจเชนเซเช...?เชเซเชฏเชพเชฐเซ เช
เชฎเซ เช
เชฎเชพเชฐเชพ เชเชฎเซเชชเซเชฏเซเชเชฐ เชชเชฐ เชธเซเชซเซเชเชตเซเชฐ เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเช เชเซเช, เชคเซเชฏเชพเชฐเซ เช
เชฎเซ เชเชตเชถเซเชฏเชเชชเชฃเซ เช เชธเซเชซเซเชเชตเซเชฐเชจเชพ เชตเชฟเชเชพเชธเชเชฐเซเชคเชพเชเชจเซ เชกเซเชฐเชพเชเชต เชเชฐเชตเชพ เชฎเชพเชเซ เช
เชฎเชพเชฐเชพ เชนเชพเชฐเซเชกเชตเซเชฐเชจเซ เชเชงเชพเชฐ เชเชชเซเช เชเซเช.
เชเซเชฏเชพเชฐเซ เช
เชฎเซ เช
เชฎเชพเชฐเชพ เชกเซเชเชพเชจเซ เชธเชฒเชพเชฎเชคเซ เชธเชพเชฅเซ เช เชธเซเชซเซเชเชตเซเชฐ เชชเชฐ เชตเชฟเชถเซเชตเชพเชธ เชเชฐเซเช เชเซเช, เชคเซเชฏเชพเชฐเซ เช
เชฎเซ เช เชกเซเชเชพเชจเซ เชชเซเชจเชเชธเซเชฅเชพเชชเชฟเชค เชเชฐเชตเชพเชจเชพ เชเชฐเซเช เชเซเชเชฒเซ เชฒเซเชจ เชฒเชเช เชเซเช, เชเซ เช
เชฎเชพเชฐเซ เชเซเช เชฆเชฟเชตเชธ เชเซเชเชตเชตเซ เชชเชกเชถเซ.
เช เชฆเซเชทเซเชเชฟเชเซเชฃเชฅเซ, ZFS เช เชซเซเชฐเชพเชฐเซ เชเซ, เช เชจเซ mdadm+lvm เช เชธเชพเชฏเชเชฒ เชเซเชตเซเช เชเซ.
เชตเซเชฏเชเซเชคเชฟเชฒเชเซเชทเซ เชฐเซเชคเซ, เชฒเซเชเช เชซเซเชฐเชพเชฐเซเชจเซ เชฌเชฆเชฒเซ เช เชเชพเชฃเซเชฏเชพ เชตเซเชฏเชเซเชคเชฟเชเชจเซ เชเซเชฐเซเชกเชฟเช เชชเชฐ เชฌเชพเชเช เชเชชเชตเชพเชจเซเช เชชเชธเชเชฆ เชเชฐเซ เชเซ. เชคเซเชฏเชพเช, เชเชถเซเชฏเซเชจเซ เชเชฟเชเชฎเชค เชตเชงเชพเชฐเซ เชจเชฅเซ. เช เชงเชฟเชเชพเชฐเซเชจเซ เชเชฐเซเชฐ เชจเชฅเซ. เชเซเชฐเชพเชซเชฟเช เชจเชฟเชฏเชฎเซ เชเชฐเชคเชพเช เชธเชฐเชณ. เชชเชพเชฐเซเชเชฟเชเช เชฎเชซเชค เชเซ. เชเซเชฐเซเชธ-เชเชจเซเชเซเชฐเซ เชเซเชทเชฎเชคเชพ เชตเชงเซ เชธเชพเชฐเซ เชเซ. เชคเชฎเซ เชนเชเชฎเซเชถเชพ เชธเชพเชฏเชเชฒ เชธเชพเชฅเซ เชชเช เชเซเชกเซ เชถเชเซ เชเซ, เช เชจเซ เชคเชฎเซ เชคเชฎเชพเชฐเชพ เชชเซเชคเชพเชจเชพ เชนเชพเชฅเชฅเซ เชธเชพเชฏเชเชฒ เชฐเซเชชเซเชฐ เชเชฐเซ เชถเชเซ เชเซ.
เชคเซ เชชเชเซ BTRFS เชถเชพ เชฎเชพเชเซ...?เชเชชเชฐเซเชเชฟเชเช เชธเชฟเชธเซเชเชฎเชจเซ เชฌเซเช เชเชฐเชตเชพ เชฎเชพเชเซ, เช เชฎเชจเซ เชเช เชซเชพเชเชฒ เชธเชฟเชธเซเชเชฎเชจเซ เชเชฐเซเชฐ เชเซ เชเซ เชฒเซเชเชธเซ/BIOS GRUB เชฎเชพเช เชฌเซเชเซเชธเชจเซ เชฌเชนเชพเชฐ เชธเชชเซเชฐเซเช เชเชฐเซ เชเซ, เช เชจเซ เชคเซ เช เชธเชฎเชฏเซ เชฒเชพเชเชต เชธเซเชจเซเชชเชถเซเชเชจเซ เชธเชชเซเชฐเซเช เชเชฐเซ เชเซ. เช เชฎเซ เชคเซเชจเซ เชเชชเชฏเซเช /boot เชชเชพเชฐเซเชเซเชถเชจ เชฎเชพเชเซ เชเชฐเซเชถเซเช. เชตเชงเซเชฎเชพเช, เชฒเซเชเช เช FS เชจเซ / (เชฐเซเช) เชฎเชพเชเซ เชตเชพเชชเชฐเชตเชพเชจเซเช เชชเชธเชเชฆ เชเชฐเซ เชเซ, เช เชจเซเชเชงเชตเชพเชจเซเช เชญเซเชฒเชคเชพ เชจเชฅเซ เชเซ เช เชจเซเชฏ เชเซเชเชชเชฃ เชธเซเชซเซเชเชตเซเชฐ เชฎเชพเชเซ เชคเชฎเซ LVM เชชเชฐ เช เชฒเช เชชเชพเชฐเซเชเซเชถเชจเซ เชฌเชจเชพเชตเซ เชถเชเซ เชเซ เช เชจเซ เชคเซเชฎเชจเซ เชเชฐเซเชฐเซ เชกเชฟเชฐเซเชเซเชเชฐเซเชเชฎเชพเช เชฎเชพเชเชจเซเช เชเชฐเซ เชถเชเซ เชเซ.
เช
เชฎเซ เช FS เชชเชฐ เชตเชฐเซเชเซเชฏเซเช
เชฒ เชฎเชถเซเชจเซ เช
เชฅเชตเชพ เชกเซเชเชพเชฌเซเชเชจเซ เชเซเชเชชเชฃ เชเชฌเซเช เชธเชเชเซเชฐเชนเชฟเชค เชเชฐเซเชถเซเช เชจเชนเซเช.
เช FS เชจเซ เชเชชเชฏเซเช เชซเชเซเชค เชธเชฟเชธเซเชเชฎเชจเชพ เชธเซเชจเซเชชเชถเซเชเชจเซ เชฌเชเชง เชเชฐเซเชฏเชพ เชตเชฟเชจเชพ เชคเซเชจเซ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ เช
เชจเซ เชชเชเซ เชฎเซเชเชฒเซ/เชชเซเชฐเชพเชชเซเชค เชเชฐเซเชจเซ เช เชธเซเชจเซเชชเชถเซเชเชจเซ เชฌเซเชเช
เชช เชกเชฟเชธเซเชเชฎเชพเช เชธเซเชฅเชพเชจเชพเชเชคเชฐเชฟเชค เชเชฐเซ.
เชตเชงเซเชฎเชพเช, เชฒเซเชเช เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ เชนเชพเชฐเซเชกเชตเซเชฐ เชชเชฐ เชธเซเชงเชพ เช เชจเซเชฏเซเชจเชคเชฎ เชธเซเชซเซเชเชตเซเชฐ เชฐเชพเชเชตเชพเชจเซเช เชชเชธเชเชฆ เชเชฐเซ เชเซ เช เชจเซ เช เชจเซเชฏ เชคเชฎเชพเชฎ เชธเซเชซเซเชเชตเซเชฐเชจเซ เชตเชฐเซเชเซเชฏเซเช เชฒ เชฎเชถเซเชจเชฎเชพเช เชเชฒเชพเชตเชตเชพเชจเซเช เชชเชธเชเชฆ เชเชฐเซ เชเซ เชเซเชฎ เชเซ GPUs เช เชจเซ PCI-USB เชนเซเชธเซเช เชเชเชเซเชฐเซเชฒเชฐเซเชธเชจเซ IOMMU เชฎเชพเชฐเชซเชคเซ KVM เชชเชฐ เชซเซเชฐเชตเชฐเซเชก เชเชฐเชตเชพ เชเซเชตเซ เชฌเชพเชฌเชคเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ.
เชนเชพเชฐเซเชกเชตเซเชฐ เชชเชฐ เชฎเชพเชคเซเชฐ เชกเซเชเชพ เชธเซเชเซเชฐเซเช, เชตเชฐเซเชเซเชฏเซเช เชฒเชพเชเชเซเชถเชจ เช เชจเซ เชฌเซเชเช เชช เชฌเชพเชเซ เชฐเชนเซ เชเซ.
เชเซ เชคเชฎเซ ZFS เชชเชฐ เชตเชงเซ เชตเชฟเชถเซเชตเชพเชธ เชเชฐเซ เชเซ, เชคเซ เชธเซเชฆเซเชงเชพเชเชคเชฟเช เชฐเซเชคเซ, เชเชฒเซเชฒเซเชเชฟเชค เชเชชเซเชฒเชฟเชเซเชถเชจ เชฎเชพเชเซ เชคเซเช เชตเชฟเชจเชฟเชฎเชฏเชเซเชทเชฎ เชเซ.
เชเซ เชเซ, เชฒเซเชเช เชเชฐเชพเชฆเชพเชชเซเชฐเซเชตเช เชฌเชฟเชฒเซเช-เชเชจ เชฎเชฟเชฐเชฐเชฟเชเช/RAID เช เชจเซ เชฐเชฟเชกเชจเซเชกเชจเซเชธเซ เชธเซเชตเชฟเชงเชพเชเชจเซ เช เชตเชเชฃเซ เชเซ เชเซ ZFS, BRTFS เช เชจเซ LVM เชชเชพเชธเซ เชเซ.
เชตเชงเชพเชฐเชพเชจเซ เชฆเชฒเซเชฒ เชคเชฐเซเชเซ, BTRFS เชชเชพเชธเซ เชฐเซเชจเซเชกเชฎ เชฐเชพเชเชเซเชธเชจเซ เชเซเชฐเชฎเชฟเชเชฎเชพเช เชซเซเชฐเชตเชตเชพเชจเซ เชเซเชทเชฎเชคเชพ เชเซ, เชเซ HDD เชชเชฐ เชธเซเชจเซเชชเชถเซเช/เชฌเซเชเช เชชเชจเซ เชธเชฟเชเชเซเชฐเชจเชพเชเช เชเชฐเชตเชพเชจเซ เชเชกเชช เชชเชฐ เช เชคเซเชฏเชเชค เชนเชเชพเชฐเชพเชคเซเชฎเช เช เชธเชฐ เชเชฐเซ เชเซ.
เชเชพเชฒเซ เชฌเชงเชพ เชเชชเชเชฐเชฃเซเชจเซ เชซเชฐเซเชฅเซ เชธเซเชเซเชจ เชเชฐเซเช:
#udevadm control --reload-rules && udevadm trigger
เชเชพเชฒเซ เชเชธเชชเชพเชธ เชเช เชจเชเชฐ เชเชฐเซเช:
#lsscsi && nvme list
[0:0:0:0] disk ATA Samsung SSD 860 2B6Q /dev/sda
[1:0:0:0] disk ATA Samsung SSD 860 2B6Q /dev/sdb
[2:0:0:0] disk ATA Samsung SSD 860 2B6Q /dev/sdc
[3:0:0:0] disk ATA Samsung SSD 860 2B6Q /dev/sdd
[4:0:0:0] disk ATA Samsung SSD 860 2B6Q /dev/sde
[5:0:0:0] disk ATA Samsung SSD 860 2B6Q /dev/sdf
[6:0:0:0] disk ATA HGST HTS721010A9 A3J0 /dev/sdg
[6:0:1:0] disk ATA HGST HTS721010A9 A3J0 /dev/sdh
[6:0:2:0] disk ATA HGST HTS721010A9 A3J0 /dev/sdi
[6:0:3:0] disk ATA HGST HTS721010A9 A3B0 /dev/sdj
[6:0:4:0] disk ATA HGST HTS721010A9 A3B0 /dev/sdk
[6:0:5:0] disk ATA HGST HTS721010A9 A3B0 /dev/sdl
[6:0:6:0] disk ATA HGST HTS721010A9 A3J0 /dev/sdm
[6:0:7:0] disk ATA HGST HTS721010A9 A3J0 /dev/sdn
Node SN Model Namespace Usage Format FW Rev
---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
/dev/nvme0n1 S466NXXXXXXX15L Samsung SSD 970 EVO 500GB 1 0,00 GB / 500,11 GB 512 B + 0 B 2B2QEXE7
/dev/nvme1n1 S5H7NXXXXXXX48N Samsung SSD 970 EVO 500GB 1 0,00 GB / 500,11 GB 512 B + 0 B 2B2QEXE7
เชกเชฟเชธเซเช เชฒเซเชเชเช
เชเชจเชเชฎเชตเซเช เชเชธเชเชธเชกเซ
เชชเชฐเชเชคเซ เช เชฎเซ เชคเซเชฎเชจเซ เชเซเชเชชเชฃ เชฐเซเชคเซ เชเชฟเชนเซเชจเชฟเชค เชเชฐเซเชถเซเช เชจเชนเซเช. เชธเชฎเชพเชจ เชฐเซเชคเซ, เช เชฎเชพเชฐเชพ BIOS เช เชกเซเชฐเชพเชเชตเซเชธเชจเซ เชเซเชคเชพ เชจเชฅเซ. เชคเซเชฅเซ, เชคเซเช เชธเชเชชเซเชฐเซเชฃเชชเชฃเซ เชธเซเชซเซเชเชตเซเชฐ RAID เชชเชฐ เชเชถเซ. เช เชฎเซ เชคเซเชฏเชพเช เชตเชฟเชญเชพเชเซ เชชเชฃ เชฌเชจเชพเชตเซเชถเซเช เชจเชนเซเช. เชเซ เชคเชฎเซ "เชเซเชจเชจ" เช เชฅเชตเชพ "เชฎเซเชเซเชฏเชคเซเชตเซ" เชจเซ เช เชจเซเชธเชฐเชตเชพ เชฎเชพเชเชเชคเชพ เชนเซ, เชคเซ HDD เชเซเชตเซเช เชเช เชฎเซเชเซเช เชชเชพเชฐเซเชเซเชถเชจ เชฌเชจเชพเชตเซ.
เชธเชพเชเชพ เชเชเชกเซเชกเซ
เช เชนเซเช เชเซเช เชเชพเชธ เชถเซเชง เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชจเชฅเซ. เช เชฎเซ เชฆเชฐเซเช เชตเชธเซเชคเซ เชฎเชพเชเซ เชเช เชตเชฟเชญเชพเช เชฌเชจเชพเชตเซเชถเซเช. เช เชฎเซ เชชเชพเชฐเซเชเซเชถเชจ เชฌเชจเชพเชตเซเชถเซเช เชเชพเชฐเชฃ เชเซ BIOS เช เชกเชฟเชธเซเชเชจเซ เชเซเช เชเซ เช เชจเซ เชคเซเชฎเชพเชเชฅเซ เชฌเซเช เชเชฐเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชชเชฃ เชเชฐเซ เชถเชเซ เชเซ. เช เชฎเซ เชชเชเซเชฅเซ เช เชกเชฟเชธเซเช เชชเชฐ GRUB เชชเชฃ เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเชถเซเช เชเซเชฅเซ เชธเชฟเชธเซเชเชฎ เช เชเชพเชจเช เช เชเชฐเซ เชถเชเซ.
#cat >hdd.part << EOF
label: dos
label-id: 0x00000000
device: /dev/sdg
unit: sectors
/dev/sdg1 : start= 2048, size= 1953523120, type=fd, bootable
EOF
#sfdisk /dev/sdg < hdd.part
#sfdisk /dev/sdh < hdd.part
#sfdisk /dev/sdi < hdd.part
#sfdisk /dev/sdj < hdd.part
#sfdisk /dev/sdk < hdd.part
#sfdisk /dev/sdl < hdd.part
#sfdisk /dev/sdm < hdd.part
#sfdisk /dev/sdn < hdd.part
SATA SSD
เช เชคเซ เชเซ เชเซเชฏเชพเช เชตเชธเซเชคเซเช เช เชฎเชพเชฐเชพ เชฎเชพเชเซ เชฐเชธเชชเซเชฐเชฆ เชฌเชจเซ เชเซ.
เชธเซเชชเซเชฐเชฅเชฎ, เช เชฎเชพเชฐเซ เชกเซเชฐเชพเชเชตเซ 2 TB เชเชฆเชจเซ เชเซ. เช MBR เชฎเชพเชเซ เชธเซเชตเซเชเชพเชฐเซเชฏ เชถเซเชฐเซเชฃเซเชฎเชพเช เชเซ, เชเซเชจเซ เช เชฎเซ เชเชชเชฏเซเช เชเชฐเซเชถเซเช. เชเซ เชเชฐเซเชฐเซ เชนเซเชฏ เชคเซ, GPT เชธเชพเชฅเซ เชฌเชฆเชฒเซ เชถเชเชพเชฏ เชเซ. GPT เชกเชฟเชธเซเชเชฎเชพเช เชธเซเชธเชเชเชคเชคเชพ เชธเซเชคเชฐ เชนเซเชฏ เชเซ เชเซ MBR-เชธเซเชธเชเชเชค เชธเชฟเชธเซเชเชฎเซเชจเซ เชชเซเชฐเชฅเชฎ 4 เชชเชพเชฐเซเชเซเชถเชจเซ เชเซเชตเชพ เชฎเชพเชเซ เชชเชฐเชตเชพเชจเชเซ เชเชชเซ เชเซ เชเซ เชคเซเช เชชเซเชฐเชฅเชฎ 2 เชเซเชฐเชพเชฌเชพเชเชเชจเซ เช เชเชฆเชฐ เชธเซเชฅเชฟเชค เชนเซเชฏ. เชฎเซเชเซเชฏ เชตเชธเซเชคเซ เช เชเซ เชเซ เช เชกเชฟเชธเซเช เชชเชฐ เชฌเซเช เชชเชพเชฐเซเชเซเชถเชจ เช เชจเซ bios_grub เชชเชพเชฐเซเชเซเชถเชจ เชถเชฐเซเชเชคเชฎเชพเช เชนเซเชตเซเช เชเซเชเช. เช เชคเชฎเชจเซ GPT เชฒเซเชเชธเซ/BIOS เชกเซเชฐเชพเชเชตเซเชธเชฎเชพเชเชฅเซ เชฌเซเช เชเชฐเชตเชพเชจเซ เชชเชฃ เชชเชฐเชตเชพเชจเชเซ เชเชชเซ เชเซ.
เชชเชฐเชเชคเซ เช เช เชฎเชพเชฐเซ เชเซเชธ เชจเชฅเซ.
เช เชนเซเช เชเชชเชฃเซ เชฌเซ เชตเชฟเชญเชพเช เชฌเชจเชพเชตเซเชถเซเช. เชชเซเชฐเชฅเชฎเชจเซเช เชเชฆ 1 GB เชนเชถเซ เช เชจเซ เชคเซเชจเซ เชเชชเชฏเซเช RAID 1 /boot เชฎเชพเชเซ เชฅเชถเซ.
เชฌเซเชเชพเชจเซ เชเชชเชฏเซเช RAID 6 เชฎเชพเชเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ เช เชจเซ เชกเซเชฐเชพเชเชตเชจเชพ เช เชเชคเซ เชเช เชจเชพเชจเชเชกเชพ เชฌเชฟเชจ เชซเชพเชณเชตเซเชฒ เชตเชฟเชธเซเชคเชพเชฐ เชธเชฟเชตเชพเชฏ เชฌเชพเชเซเชจเซ เชฌเชงเซ เชเชพเชฒเซ เชเชเซเชฏเชพ เชฒเซเชถเซ.
เช เช เชเชฟเชนเซเชจเชฟเชค เชตเชฟเชธเซเชคเชพเชฐ เชถเซเช เชเซ?เชจเซเชเชตเชฐเซเช เชชเชฐเชจเชพ เชธเซเชคเซเชฐเซเชจเชพ เชเชฃเชพเชตเซเชฏเชพ เช เชจเซเชธเชพเชฐ, เช เชฎเชพเชฐเชพ SATA SSDs เชชเชพเชธเซ 6 เชฅเซ 78 เชเซเชเชพเชฌเชพเชเชเซเชธ เชธเซเชงเซเชจเชพ เชเชฆเชจเซ เชเชคเชฟเชถเซเชฒ เชฐเซเชคเซ เชตเชฟเชธเซเชคเซเชค SLC เชเซเชถ เชเซ. เชกเซเชฐเชพเชเชตเชจเซ เชกเซเชเชพ เชถเซเชเชฎเชพเช "เชเซเชเชพเชฌเชพเชเชเซเชธ" เช เชจเซ "เชเซเชฌเซเชฌเชพเชเชเซเชธ" เชตเชเซเชเซเชจเชพ เชคเชซเชพเชตเชคเชจเซ เชเชพเชฐเชฃเซ เช เชฎเชจเซ 6 เชเซเชเชพเชฌเชพเชเชเซเชธ "เชฎเชซเชคเชฎเชพเช" เชฎเชณเซ เชเซ. เชฌเชพเชเซเชจเซ 72 เชเซเชเชพเชฌเชพเชเชเซเชธ เชฌเชฟเชจเชเชชเชฏเซเชเซ เชเชเซเชฏเชพเชฎเชพเชเชฅเซ เชซเชพเชณเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ.
เช เชนเซเช เช เชจเซเชเชงเชตเซเช เชเซเชเช เชเซ เช เชฎเชพเชฐเซ เชชเชพเชธเซ SLC เชเซเชถ เชเซ, เช เชจเซ เชเชเซเชฏเชพ 4 เชฌเซเช MLC เชฎเซเชกเชฎเชพเช เชเซ. เชเซเชจเซ เช เชฎเชพเชฐเชพ เชฎเชพเชเซ เช เชธเชฐเชเชพเชฐเช เช เชฐเซเชฅ เชเซ เชเซ เชฆเชฐเซเช 4 เชเซเชเชพเชฌเชพเชเช เชเชพเชฒเซ เชเชเซเชฏเชพ เชฎเชพเชเซ เช เชฎเชจเซ เชซเชเซเชค 1 เชเซเชเชพเชฌเชพเชเช SLC เชเซเชถ เชฎเชณเชถเซ.
72 เชเซเชเชพเชฌเชพเชเชเซเชธเชจเซ 4 เชตเชกเซ เชเซเชฃเชพเชเชพเชฐ เชเชฐเซ เช เชจเซ 288 เชเซเชเชพเชฌเชพเชเชเซเชธ เชฎเซเชณเชตเซ. เช เชเชพเชฒเซ เชเชเซเชฏเชพ เชเซ เชเซเชจเซ เช เชฎเซ เชกเซเชฐเชพเชเชตเซเชธเชจเซ SLC เชเซเชถเชจเซ เชธเชเชชเซเชฐเซเชฃ เชเชชเชฏเซเช เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเชตเชพ เชฎเชพเชเซ เชเชฟเชนเซเชจเชฟเชค เชเชฐเซเชถเซเช เชจเชนเซเช.
เชเชฎ, เช เชฎเซ เชเซเชฒ เช เชกเซเชฐเชพเชเชตเชฎเชพเชเชฅเซ 312 เชเซเชเชพเชฌเชพเชเชเซเชธ SLC เชเซเชถ เช เชธเชฐเชเชพเชฐเช เชฐเซเชคเซ เชฎเซเชณเชตเซเชถเซเช. เชฌเชงเซ เชกเซเชฐเชพเชเชตเซเชฎเชพเชเชฅเซ, 2 เชจเซ เชเชชเชฏเซเช RAID เชฎเชพเช เชจเชฟเชฐเชฐเซเชฅเชเชคเชพ เชฎเชพเชเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ.
เชเซเชถเชจเซ เช เชฐเชเชฎ เช เชฎเชจเซ เชตเชพเชธเซเชคเชตเชฟเช เชเซเชตเชจเชฎเชพเช เช เชคเซเชฏเชเชค เชญเชพเชเซเชฏเซ เช เชเชตเซ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเชจเซ เชธเชพเชฎเชจเซ เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเชถเซ เชเซเชฏเชพเช เชฒเชเชพเชฃ เชเซเชถเชฎเชพเช เชจ เชเชพเชฏ. เช QLC เชฎเซเชฎเชฐเซเชจเซ เชธเซเชฅเซ เชฆเซ:เชเชฆ เชเชพเชฎเซ เชฎเชพเชเซ เชเซเชฌ เช เชธเชพเชฐเซ เชฐเซเชคเซ เชตเชณเชคเชฐ เชเชชเซ เชเซ - เชเซเชฏเชพเชฐเซ เชเซเชถเชจเซ เชฌเชพเชฏเชชเชพเชธ เชเชฐเซเชจเซ เชกเซเชเชพ เชฒเชเชตเชพเชฎเชพเช เชเชตเซ เชคเซเชฏเชพเชฐเซ เชฒเชเชตเชพเชจเซ เชเชกเชช เช เชคเซเชฏเชเชค เชเชเซ เชเซ. เชเซ เชคเชฎเชพเชฐเซ เชฒเซเชก เชเชจเซ เช เชจเซเชฐเซเชช เชจเชฅเซ, เชคเซ เชชเชเซ เชนเซเช เชญเชฒเชพเชฎเชฃ เชเชฐเซเช เชเซเช เชเซ เชคเชฎเซ เชกเซเชเชพ เชถเซเชเชฎเชพเชเชฅเซ TBW เชจเซ เชงเซเชฏเชพเชจเชฎเชพเช เชฐเชพเชเซเชจเซ, เชเชตเชพ เชญเชพเชฐ เชนเซเช เชณ เชคเชฎเชพเชฐเซ SSD เชเซเชเชฒเซ เชธเชฎเชฏ เชเชพเชฒเชถเซ เชคเซ เชตเชฟเชถเซ เชธเชเชค เชตเชฟเชเชพเชฐเซ.
#cat >ssd.part << EOF
label: dos
label-id: 0x00000000
device: /dev/sda
unit: sectors
/dev/sda1 : start= 2048, size= 2097152, type=fd, bootable
/dev/sda2 : start= 2099200, size= 3300950016, type=fd
EOF
#sfdisk /dev/sda < ssd.part
#sfdisk /dev/sdb < ssd.part
#sfdisk /dev/sdc < ssd.part
#sfdisk /dev/sdd < ssd.part
#sfdisk /dev/sde < ssd.part
#sfdisk /dev/sdf < ssd.part
เชเชฐเซ เชฌเชจเชพเชตเซ เชฐเชนเซเชฏเชพ เชเซเช
เชชเซเชฐเชฅเชฎ, เชเชชเชฃเซ เชฎเชถเซเชจเชจเซเช เชจเชพเชฎ เชฌเชฆเชฒเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ. เช เชเชฐเซเชฐเซ เชเซ เชเชพเชฐเชฃ เชเซ เชฏเชเชฎเชพเชจ เชจเชพเชฎ mdadm เชจเซ เช เชเชฆเชฐ เชเซเชฏเชพเชเช เชเชฐเซ เชจเชพเชฎเชจเซ เชญเชพเช เชเซ เช เชจเซ เชเซเชฏเชพเชเช เชเชเชเช เช เชธเชฐ เชเชฐเซ เชเซ. เช เชฒเชฌเชคเซเชค, เชเชฐเซเชจเซเช เชจเชพเชฎ เชชเชเซเชฅเซ เชฌเชฆเชฒเซ เชถเชเชพเชฏ เชเซ, เชชเชฐเชเชคเซ เช เชเช เชฌเชฟเชจเชเชฐเซเชฐเซ เชชเชเชฒเซเช เชเซ.
#mcedit /etc/hostname
#mcedit /etc/hosts
#hostname
vdesk0
เชเชจเชเชฎเชตเซเช เชเชธเชเชธเชกเซ
#mdadm --create --verbose --assume-clean /dev/md0 --level=1 --raid-devices=2 /dev/nvme[0-1]n1
เชถเชพ เชฎเชพเชเซ-เชงเชพเชฐเซ-เชธเซเชตเชเซเช...?เชเชฐเซ เชถเชฐเซ เชเชฐเชตเชพเชจเซเช เชเชพเชณเชตเชพ เชฎเชพเชเซ. RAID เชธเซเชคเชฐ 1 เช เชจเซ 6 เชฌเชเชจเซ เชฎเชพเชเซ เช เชฎเชพเชจเซเชฏ เชเซ. เชเซ เชคเซ เชจเชตเซ เชเชฐเซ เชนเซเชฏ เชคเซ เชฌเชงเซเช เชเชฐเชเชญ เชตเชฟเชจเชพ เชเชพเชฎ เชเชฐเซ เชถเชเซ เชเซ. เชตเชงเซเชฎเชพเช, เชฌเชจเชพเชตเช เชชเชฐ SSD เชเชฐเซ เชถเชฐเซ เชเชฐเชตเซเช เช TBW เชธเชเชธเชพเชงเชจเชจเซ เชฌเชเชพเชก เชเซ. เช เชฎเซ เชเชธเซเชฎเซเชฌเชฒ เชเชฐเซเชฒ SSD เชเชฐเซเชจเซ "เชชเซเชฐเชพเชฐเชเชญเชฟเช" เชเชฐเชตเชพ เชฎเชพเชเซ เชเซเชฏเชพเช เชถเชเซเชฏ เชนเซเชฏ เชคเซเชฏเชพเช TRIM/DISCARD เชจเซ เชเชชเชฏเซเช เชเชฐเซเช เชเซเช.
SSD เชเชฐเซ เชฎเชพเชเซ, RAID 1 DISCARD เช เชฌเซเชเซเชธเชจเซ เชฌเชนเชพเชฐ เชธเชชเซเชฐเซเชเซเชก เชเซ.
SSD RAID 6 DISCARD เชเชฐเซ เชฎเชพเชเซ, เชคเชฎเชพเชฐเซ เชคเซเชจเซ เชเชฐเซเชจเชฒ เชฎเซเชกเซเชฏเซเชฒ เชชเชฐเชฟเชฎเชพเชฃเซเชฎเชพเช เชธเชเซเชฐเชฟเชฏ เชเชฐเชตเซเช เชเชตเชถเซเชฏเช เชเซ.
เช เชฎเชพเชคเซเชฐ เชคเซเชฏเชพเชฐเซ เช เชฅเชตเซเช เชเซเชเช เชเซ เช เชธเชฟเชธเซเชเชฎเชฎเชพเช เชฒเซเชตเชฒ 4/5/6 เชเชฐเซเชฎเชพเช เชเชชเชฏเซเชเชฎเชพเช เชฒเซเชตเชพเชคเชพ เชคเชฎเชพเชฎ SSDs เชชเชพเชธเซ discard_zeroes_data เชฎเชพเชเซ เชเชพเชฐเซเชฏเชเชพเชฐเซ เชธเชฎเชฐเซเชฅเชจ เชนเซเชฏ. เชเซเชเชฒเซเชเชตเชพเชฐ เชคเชฎเซ เชตเชฟเชเชฟเชคเซเชฐ เชกเซเชฐเชพเชเชตเซ เชชเชฐ เชเชตเซ เชเซ เชเซ เชเชฐเซเชจเชฒเชจเซ เชเชนเซ เชเซ เชเซ เช เชซเชเชเซเชถเชจ เชธเชชเซเชฐเซเชเซเชก เชเซ, เชชเชฐเชเชคเซ เชนเชเซเชเชคเชฎเชพเช เชคเซ เชคเซเชฏเชพเช เชจเชฅเซ, เช เชฅเชตเชพ เชซเชเชเซเชถเชจ เชนเชเชฎเซเชถเชพ เชเชพเชฎ เชเชฐเชคเซเช เชจเชฅเซ. เช เชเซเชทเชฃเซ, เชธเชชเซเชฐเซเช เชฒเชเชญเช เชฆเชฐเซเช เชเชเซเชฏเชพเช เชเชชเชฒเชฌเซเชง เชเซ, เชเซ เชเซ, เชญเซเชฒเซ เชธเชพเชฅเซ เชเซเชจเซ เชกเซเชฐเชพเชเชตเซเชธ เช เชจเซ เชซเชฐเซเชฎเชตเซเชฐ เชเซ. เช เชเชพเชฐเชฃเซเชธเชฐ, RAID 6 เชฎเชพเชเซ DISCARD เชเชงเชพเชฐ เชฎเซเชณเชญเซเชค เชฐเซเชคเซ เชจเชฟเชทเซเชเซเชฐเชฟเชฏ เชฅเชฏเซเชฒ เชเซ.
เชงเซเชฏเชพเชจ เชเชชเซ, เชจเซเชเซเชจเซ เชเชฆเซเชถ "เชถเซเชจเซเชฏ" เชธเชพเชฅเซ เชเชฐเซเชจเซ "เชชเซเชฐเชพเชฐเชเชญ" เชเชฐเซเชจเซ NVMe เชกเซเชฐเชพเชเชตเซเชธ เชชเชฐเชจเชพ เชคเชฎเชพเชฎ เชกเซเชเชพเชจเซ เชจเชพเชถ เชเชฐเชถเซ.
#blkdiscard /dev/md0
เชเซ เชเชเชเช เชเซเชเซเช เชฅเชพเชฏ, เชคเซ เชเช เชชเชเชฒเซเช เชธเซเชชเชทเซเช เชเชฐเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซ.
#blkdiscard --step 65536 /dev/md0
SATA SSD
#mdadm --create --verbose --assume-clean /dev/md1 --level=1 --raid-devices=6 /dev/sd[a-f]1
#blkdiscard /dev/md1
#mdadm --create --verbose --assume-clean /dev/md2 --chunk-size=512 --level=6 --raid-devices=6 /dev/sd[a-f]2
เชเชเชฒเซเช เชฎเซเชเซเช เชเซเชฎ...?เชเชเช-เชธเชพเชเชเชฎเชพเช เชตเชงเชพเชฐเซ เชเชฐเชตเชพเชฅเซ เชเชเชก-เชเชฆ เชธเซเชงเซเชจเชพ เชฌเซเชฒเซเชเซเชธเชฎเชพเช เชฐเซเชจเซเชกเชฎ เชฐเซเชกเชฟเชเชเชจเซ เชเชกเชช เชชเชฐ เชธเชเชพเชฐเชพเชคเซเชฎเช เช เชธเชฐ เชชเชกเซ เชเซ. เชเชตเซเช เชเชเชฒเชพ เชฎเชพเชเซ เชฅเชพเชฏ เชเซ เชเชพเชฐเชฃ เชเซ เชฏเซเชเซเชฏ เชเชฆ เช เชฅเชตเชพ เชคเซเชจเชพเชฅเซ เชจเชพเชจเซ เชเชพเชฎเชเซเชฐเซ เชเช เช เชเชชเชเชฐเชฃ เชชเชฐ เชธเชเชชเซเชฐเซเชฃเชชเชฃเซ เชชเซเชฐเซเชฃ เชเชฐเซ เชถเชเชพเชฏ เชเซ. เชคเซเชฅเซ, เชฌเชงเชพ เชเชชเชเชฐเชฃเซเชฎเชพเชเชฅเซ IOPS เชจเซ เชธเชพเชฐเชพเชเชถ เชเชชเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชเชเชเชกเชพ เช เชจเซเชธเชพเชฐ, 99% IO 512K เชเชฐเชคเชพเช เชตเชงเซ เชจเชฅเซ.
RAID เชฎเชพเช เชฒเชเชตเชพ เชฆเซเช 6 IOPS เชเซ เชนเชเชฎเซเชถเชพเช เชเช เชกเซเชฐเชพเชเชตเชจเชพ IOPS เชเชฐเชคเชพเช เชเชเซเช เช
เชฅเชตเชพ เชคเซเชจเซ เชฌเชฐเชพเชฌเชฐ. เชเซเชฏเชพเชฐเซ, เชฐเซเชจเซเชกเชฎ เชฐเซเชก เชคเชฐเซเชเซ, IOPS เช เชเช เชกเซเชฐเชพเชเชต เชเชฐเชคเชพ เช
เชจเซเช เชเชฃเซเช เชตเชงเชพเชฐเซ เชนเซเช เชถเชเซ เชเซ, เช
เชจเซ เช
เชนเซเช เชฌเซเชฒเซเชเชจเซเช เชเชฆ เชฎเชนเชคเซเชคเซเชตเชจเซเช เชเซ.
เชฒเซเชเช RAID 6 เชฌเชพเชฏ-เชกเชฟเชเชพเชเชจเชฎเชพเช เชเชฐเชพเชฌ เชนเซเชฏ เชคเซเชตเชพ เชชเซเชฐเชพเชฎเซเชเชฐเชจเซ เชเชชเซเชเชฟเชฎเชพเชเช เชเชฐเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเชตเชพเชจเซ เชฎเซเชฆเซเชฆเซ เชเซเชคเชพ เชจเชฅเซ เช
เชจเซ เชคเซเชจเชพ เชฌเชฆเชฒเซ RAID 6 เชถเซเช เชธเชพเชฐเซเช เชเซ เชคเซ เชเชชเซเชเชฟเชฎเชพเชเช เชเชฐเซ เชเซ.
เช
เชฎเซ RAID 6 เชจเชพ เชจเชฌเชณเชพ เชฐเซเชจเซเชกเชฎ เชฒเชเชพเชฃ เชฎเชพเชเซ NVMe เชเซเชถ เช
เชจเซ เชชเชพเชคเชณเซ-เชเซเชเชตเชพเช เชฏเซเชเซเชคเชฟเช เชธเชพเชฅเซ เชตเชณเชคเชฐ เชเชชเซเชถเซเช.
เช เชฎเซ เชนเชเซ เชธเซเชงเซ RAID 6 เชฎเชพเชเซ DISCARD เชจเซ เชธเชเซเชทเชฎ เชเชฐเซเชฏเซเช เชจเชฅเซ. เชคเซเชฅเซ เช เชฎเซ เชนเชฎเชฃเชพเช เชฎเชพเชเซ เช เชเชฐเซเชจเซ "เชชเซเชฐเชพเชฐเชเชญ" เชเชฐเซเชถเซเช เชจเชนเซเช. OS เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเชฏเชพ เชชเชเซ, เช เชฎเซ เช เชชเชเซเชฅเซ เชเชฐเซเชถเซเช.
เชธเชพเชเชพ เชเชเชกเซเชกเซ
#mdadm --create --verbose --assume-clean /dev/md3 --chunk-size=512 --level=6 --raid-devices=8 /dev/sd[g-n]1
NVMe RAID เชชเชฐ LVM
เชเชกเชช เชฎเชพเชเซ, เช
เชฎเซ เชฐเซเช เชซเชพเชเชฒ เชธเชฟเชธเซเชเชฎเชจเซ NVMe RAID 1 เชชเชฐ เชฎเซเชเชตเชพ เชฎเชพเชเชเซเช เชเซเช เชเซ /dev/md0 เชเซ.
เชเซ เชเซ, เช
เชฎเชจเซ เชนเชเซ เชชเชฃ เช
เชจเซเชฏ เชเชฐเซเชฐเชฟเชฏเชพเชคเซ เชฎเชพเชเซ เช เชเชกเชชเซ เชเชฐเซเชจเซ เชเชฐเซเชฐ เชชเชกเชถเซ, เชเซเชฎ เชเซ เชธเซเชตเซเชช, เชฎเซเชเชพเชกเซเชเชพ เช
เชจเซ LVM-cache เช
เชจเซ LVM-เชชเชพเชคเชณเชพ เชฎเซเชเชพเชกเซเชเชพ, เชคเซเชฅเซ เช
เชฎเซ เช เชเชฐเซ เชชเชฐ LVM VG เชฌเชจเชพเชตเซเชถเซเช.
#pvcreate /dev/md0
#vgcreate root /dev/md0
เชเชพเชฒเซ เชฐเซเช เชซเชพเชเชฒ เชธเชฟเชธเซเชเชฎ เชฎเชพเชเซ เชชเชพเชฐเซเชเซเชถเชจ เชฌเชจเชพเชตเซเช.
#lvcreate -L 128G --name root root
เชเชพเชฒเซ RAM เชจเชพ เชฎเชพเชช เชชเซเชฐเชฎเชพเชฃเซ เชธเซเชตเซเชช เชเชฐเชตเชพ เชฎเชพเชเซ เชชเชพเชฐเซเชเซเชถเชจ เชฌเชจเชพเชตเซเช.
#lvcreate -L 32G --name swap root
OS เชเชจเซเชธเซเชเซเชฒเซเชถเชจ
เชเซเชฒเชฎเชพเช, เช เชฎเชพเชฐเซ เชชเชพเชธเซ เชธเชฟเชธเซเชเชฎ เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเชพ เชฎเชพเชเซ เชเชฐเซเชฐเซ เชฌเชงเซเช เชเซ.
เชเชฌเซเชจเซเชเซ เชฒเชพเชเชต เชชเชฐเซเชฏเชพเชตเชฐเชฃเชฎเชพเชเชฅเซ เชธเชฟเชธเซเชเชฎ เชเชจเซเชธเซเชเซเชฒเซเชถเชจ เชตเชฟเชเชพเชฐเซเชก เชฒเซเชเช เชเชฐเซ. เชธเชพเชฎเชพเชจเซเชฏ เชธเซเชฅเชพเชชเชจ. เชซเชเซเชค เชเชจเซเชธเซเชเซเชฒเซเชถเชจ เชฎเชพเชเซ เชกเชฟเชธเซเช เชชเชธเชเชฆ เชเชฐเชตเชพเชจเชพ เชคเชฌเชเซเชเซ, เชคเชฎเชพเชฐเซ เชจเซเชเซเชจเชพเชจเซ เชเชฒเซเชฒเซเช เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ:
- /dev/md1, - เชฎเชพเชเชจเซเช เชชเซเชเชจเซเช /boot, FS - BTRFS
- /dev/root/root (เชเชฐเซเชซเซ /dev/mapper/root-root), - เชฎเชพเชเชจเซเช เชชเซเชเชจเซเช / (เชฐเซเช), FS - BTRFS
- /dev/root/swap (เชเชฐเซเชซเซ /dev/mapper/root-swap), - เชธเซเชตเซเชช เชชเชพเชฐเซเชเซเชถเชจ เชคเชฐเซเชเซ เชเชชเชฏเซเช เชเชฐเซ
- /dev/sda เชชเชฐ เชฌเซเชเชฒเซเชกเชฐ เชเชจเซเชธเซเชเซเชฒ เชเชฐเซ
เชเซเชฏเชพเชฐเซ เชคเชฎเซ เชฐเซเช เชซเชพเชเชฒ เชธเชฟเชธเซเชเชฎ เชคเชฐเซเชเซ BTRFS เชชเชธเชเชฆ เชเชฐเซ เชเซ, เชคเซเชฏเชพเชฐเซ เชธเซเชฅเชพเชชเช เชเชชเชฎเซเชณเซ / (เชฐเซเช) เชฎเชพเชเซ "@" เชจเชพเชฎเชจเชพ เชฌเซ BTRFS เชตเซเชฒเซเชฏเซเชฎเซ เช เชจเซ /home เชฎเชพเชเซ "@home" เชฌเชจเชพเชตเชถเซ.
เชเชพเชฒเซ เชเชจเซเชธเซเชเซเชฒเซเชถเชจ เชถเชฐเซ เชเชฐเซเช...
เชเชจเซเชธเซเชเซเชฒเซเชถเชจ เชฎเซเชกเชฒ เชกเชพเชฏเชฒเซเช เชฌเซเชเซเชธ เชธเชพเชฅเซ เชธเชฎเชพเชชเซเชค เชฅเชถเซ เชเซ เชฌเซเชเชฒเซเชกเชฐ เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเชพเชฎเชพเช เชญเซเชฒ เชฆเชฐเซเชถเชพเชตเซ เชเซ. เชเชฎเชจเชธเซเชฌเซ, เชคเชฎเซ เชฎเชพเชจเช เชฎเชพเชงเซเชฏเชฎเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เช เชธเชเชตเชพเชฆเชฎเชพเชเชฅเซ เชฌเชนเชพเชฐ เชจเซเชเชณเซ เชถเชเชถเซ เชจเชนเซเช เช เชจเซ เชเชจเซเชธเซเชเซเชฒเซเชถเชจ เชเชพเชฒเซ เชฐเชพเชเซ เชถเชเชถเซ เชจเชนเซเช. เช เชฎเซ เชธเชฟเชธเซเชเชฎเชฎเชพเชเชฅเซ เชฒเซเช เชเชเช เชเชฐเซเช เชเซเช เช เชจเซ เชซเชฐเซเชฅเซ เชฒเซเช เชเชจ เชเชฐเซเช เชเซเช, เชเซเชจเซ เช เชเชค เชธเซเชตเชเซเช เชเชฌเซเชจเซเชเซ เชฒเชพเชเชต เชกเซเชธเซเชเชเซเชชเชฎเชพเช เชฅเชพเชฏ เชเซ. เชเชฐเซเชฎเชฟเชจเชฒ เชเซเชฒเซ, เช เชจเซ เชซเชฐเซเชฅเซ:
#sudo bash
เชธเซเชฅเชพเชชเชจ เชเชพเชฒเซ เชฐเชพเชเชตเชพ เชฎเชพเชเซ chroot เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชฌเชจเชพเชตเซ:
#mkdir /mnt/chroot
#mount -o defaults,space_cache,noatime,nodiratime,discard,subvol=@ /dev/mapper/root-root /mnt/chroot
#mount -o defaults,space_cache,noatime,nodiratime,discard,subvol=@home /dev/mapper/root-root /mnt/chroot/home
#mount -o defaults,space_cache,noatime,nodiratime,discard /dev/md1 /mnt/chroot/boot
#mount --bind /proc /mnt/chroot/proc
#mount --bind /sys /mnt/chroot/sys
#mount --bind /dev /mnt/chroot/dev
เชเชพเชฒเซ เชจเซเชเชตเชฐเซเช เช
เชจเซ เชนเซเชธเซเชเชจเชพเชฎเชจเซ chroot เชฎเชพเช เชเซเช เชตเซเช:
#cat /etc/hostname >/mnt/chroot/etc/hostname
#cat /etc/hosts >/mnt/chroot/etc/hosts
#cat /etc/resolv.conf >/mnt/chroot/etc/resolv.conf
เชเชพเชฒเซ chroot เชชเชฐเซเชฏเชพเชตเชฐเชฃเชฎเชพเช เชเชเช:
#chroot /mnt/chroot
เชธเซ เชชเซเชฐเชฅเชฎ, เช
เชฎเซ เชชเซเชเซเชเซ เชตเชฟเชคเชฐเชฟเชค เชเชฐเซเชถเซเช:
apt-get install --reinstall mdadm lvm2 thin-provisioning-tools btrfs-tools util-linux lsscsi nvme-cli mc debsums hdparm
เชเชพเชฒเซ เชฌเชงเชพ เชชเซเชเซเชเซเชจเซ เชคเชชเชพเชธเซเช เช เชจเซ เช เซเช เชเชฐเซเช เชเซ เช เชชเซเชฐเซเชฃ เชธเชฟเชธเซเชเชฎ เชเชจเซเชธเซเชเซเชฒเซเชถเชจเชจเซ เชเชพเชฐเชฃเซ เชเซเชเชฟเชฒ เชฐเซเชคเซ เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเชพ เชนเชคเชพ:
#CORRUPTED_PACKAGES=$(debsums -s 2>&1 | awk '{print $6}' | uniq)
#apt-get install --reinstall $CORRUPTED_PACKAGES
เชเซ เชเชเชเช เชเชพเชฎ เชเชฐเชคเซเช เชจเชฅเซ, เชคเซ เชคเชฎเชพเชฐเซ เชชเชนเซเชฒเชพ /etc/apt/sources.list เชธเชเชชเชพเชฆเชฟเชค เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชชเชกเซ เชถเชเซ เชเซ
เชเชพเชฒเซ TRIM/DISCARD เชจเซ เชธเชเซเชทเชฎ เชเชฐเชตเชพ เชฎเชพเชเซ RAID 6 เชฎเซเชกเซเชฏเซเชฒ เชฎเชพเชเซเชจเชพ เชชเชฐเชฟเชฎเชพเชฃเซเชจเซ เชธเชฎเชพเชฏเซเชเชฟเชค เชเชฐเซเช:
#cat >/etc/modprobe.d/raid456.conf << EOF
options raid456 devices_handle_discard_safely=1
EOF
เชเชพเชฒเซ เชเชชเชฃเชพ เชเชฐเซเชจเซ เชฅเซเชกเซ เชเชเชเซ เชเชฐเซเช:
#cat >/etc/udev/rules.d/60-md.rules << EOF
SUBSYSTEM=="block", KERNEL=="md*", ACTION=="change", TEST=="md/stripe_cache_size", ATTR{md/stripe_cache_size}="32768"
SUBSYSTEM=="block", KERNEL=="md*", ACTION=="change", TEST=="md/sync_speed_min", ATTR{md/sync_speed_min}="48000"
SUBSYSTEM=="block", KERNEL=="md*", ACTION=="change", TEST=="md/sync_speed_max", ATTR{md/sync_speed_max}="300000"
EOF
#cat >/etc/udev/rules.d/62-hdparm.rules << EOF
SUBSYSTEM=="block", ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", RUN+="/sbin/hdparm -B 254 /dev/%k"
EOF
#cat >/etc/udev/rules.d/63-blockdev.rules << EOF
SUBSYSTEM=="block", ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", RUN+="/sbin/blockdev --setra 1024 /dev/%k"
SUBSYSTEM=="block", ACTION=="add|change", KERNEL=="md*", RUN+="/sbin/blockdev --setra 0 /dev/%k"
EOF
เชถเซเช เชนเชคเซเช..?เช
เชฎเซ udev เชจเชฟเชฏเชฎเซเชจเซ เชธเชฎเซเชน เชฌเชจเชพเชตเซเชฏเซ เชเซ เชเซ เชจเซเชเซ เชฎเซเชเชฌ เชเชฐเชถเซ:
- RAID 2020 เชฎเชพเชเซ เชฌเซเชฒเซเช เชเซเชถเชจเซเช เชเชฆ 6 เชฎเชพเชเซ เชชเชฐเซเชฏเชพเชชเซเชค เชนเซเชตเชพ เชฎเชพเชเซ เชธเซเช เชเชฐเซ. เชกเชฟเชซเซเชฒเซเช เชฎเซเชฒเซเชฏ, เชเชตเซเช เชฒเชพเชเซ เชเซ, Linux เชจเซ เชฐเชเชจเชพ เชชเชเซ เชฌเชฆเชฒเชพเชฏเซเช เชจเชฅเซ, เช เชจเซ เชฒเชพเชเชฌเชพ เชธเชฎเชฏเชฅเซ เชชเชฐเซเชฏเชพเชชเซเชค เชจเชฅเซ.
- เชเชฐเซ เชเซเชเซเชธ/เชธเชฟเชเชเซเชฐเซเชจเชพเชเชเซเชถเชจเชจเซ เช เชตเชงเชฟ เชฎเชพเชเซ เชจเซเชฏเซเชจเชคเชฎ IO เช เชจเชพเชฎเชค เชฐเชพเชเซ. เช เชคเชฎเชพเชฐเชพ เชเชฐเซเชจเซ เชฒเซเชก เชนเซเช เชณ เชถเชพเชถเซเชตเชค เชธเชฟเชเชเซเชฐเชจเชพเชเชเซเชถเชจเชจเซ เชธเซเชฅเชฟเชคเชฟเชฎเชพเช เช เชเชตเชพเชคเชพ เช เชเชเชพเชตเชตเชพ เชฎเชพเชเซ เชเซ.
- เชเชฐเซเชจเชพ เชเซเช/เชธเชฟเชเชเซเชฐเซเชจเชพเชเชเซเชถเชจ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชฎเชนเชคเซเชคเชฎ IO เชจเซ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เชเชฐเซ. เช เชเชฐเซเชฐเซ เชเซ เชเซเชฅเซ SSD RAIDs เชจเซ เชธเชฟเชเชเซเชฐเชจเชพเชเช/เชคเชชเชพเชธเชตเชพเชฅเซ เชคเชฎเชพเชฐเซ เชกเซเชฐเชพเชเชตเชจเซ เชเชชเชณเชคเชพเชฅเซ เชซเซเชฐเชพเชฏ เชจ เชฅเชพเชฏ. เช เชเชพเชธ เชเชฐเซเชจเซ NVMe เชฎเชพเชเซ เชธเชพเชเซเช เชเซ. (เชฐเซเชกเชฟเชเชเชฐ เชตเชฟเชถเซ เชฏเชพเชฆ เชเซ? เชนเซเช เชฎเชเชพเช เชเชฐเชคเซ เชจ เชนเชคเซ.)
- เชกเชฟเชธเซเชเชจเซ APM เชฆเซเชตเชพเชฐเชพ เชธเซเชชเชฟเชจเซเชกเชฒ เชฐเซเชเซเชถเชจ (HDD) เชฐเซเชเชตเชพเชฅเซ เชชเซเชฐเชคเชฟเชฌเชเชงเชฟเชค เชเชฐเซ เช เชจเซ เชกเชฟเชธเซเช เชจเชฟเชฏเชเชคเซเชฐเชเซ เชฎเชพเชเซ เชธเซเชฒเซเชช เชเชพเชเชฎเชเชเชเชจเซ 7 เชเชฒเชพเช เชชเชฐ เชธเซเช เชเชฐเซ. เชเซ เชคเชฎเชพเชฐเซ เชกเซเชฐเชพเชเชตเซเชธ เชคเซ เชเชฐเซ เชถเชเซ เชคเซ เชคเชฎเซ APM เชจเซ โโเชธเชเชชเซเชฐเซเชฃเชชเชฃเซ เช เชเซเชทเชฎ เชเชฐเซ เชถเชเซ เชเซ (-B 255). เชกเชฟเชซเซเชฒเซเช เชฎเซเชฒเซเชฏ เชธเชพเชฅเซ, เชกเซเชฐเชพเชเชตเซเชธ เชชเชพเชเช เชธเซเชเชจเซเชก เชชเชเซ เชฌเชเชง เชฅเช เชเชถเซ. เชชเชเซ OS เชกเชฟเชธเซเช เชเซเชถ เชฐเซเชธเซเช เชเชฐเชตเชพ เชฎเชพเชเชเซ เชเซ, เชกเชฟเชธเซเช เชซเชฐเซเชฅเซ เชธเซเชชเชฟเชจ เชฅเชถเซ, เช เชจเซ เชฌเชงเซเช เชซเชฐเซเชฅเซ เชถเชฐเซ เชฅเชถเซ. เชกเชฟเชธเซเชเชฎเชพเช เชธเซเชชเชฟเชจเซเชกเชฒ เชชเชฐเชฟเชญเซเชฐเชฎเชฃเชจเซ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เชฎเชนเชคเซเชคเชฎ เชธเชเชเซเชฏเชพ เชนเซเชฏ เชเซ. เชเชตเซ เชธเชฐเชณ เชกเชฟเชซเซเชฒเซเช เชธเชพเชเชเชฒ เชคเชฎเชพเชฐเซ เชกเชฟเชธเซเชเชจเซ เชฅเซเชกเชพ เชตเชฐเซเชทเซเชฎเชพเช เชธเชฐเชณเชคเชพเชฅเซ เชฎเชพเชฐเซ เชถเชเซ เชเซ. เชฌเชงเซ เชกเชฟเชธเซเช เชเชจเชพเชฅเซ เชชเซเชกเชพเชคเซ เชจเชฅเซ, เชชเชฐเชเชคเซ เช เชฎเชพเชฐเซ "เชฒเซเชชเชเซเชช" เชเซ, เชฏเซเชเซเชฏ เชกเชฟเชซเซเชฒเซเช เชธเซเชเชฟเชเชเซเชธ เชธเชพเชฅเซ, เชเซ RAID เชจเซ เชฎเชฟเชจเซ-MAID เชเซเชตเซ เชฌเชจเชพเชตเซ เชเซ.
- เชกเชฟเชธเซเช เชชเชฐ เชฐเซเชกเชนเซเชก เชเชจเซเชธเซเชเซเชฒ เชเชฐเซ (เชซเชฐเชคเซ) 1 เชฎเซเชเชพเชฌเชพเชเช - เชธเชคเชค เชฌเซ เชฌเซเชฒเซเชเซเชธ/เชเชเช RAID 6
- เชเชฐเซ เชชเชฐ เช เชฐเซเชกเชนเซเชกเชจเซ เช เชเซเชทเชฎ เชเชฐเซ.
เชเชพเชฒเซ เชธเชเชชเชพเชฆเชฟเชค เชเชฐเซเช /etc/fstab:
#cat >/etc/fstab << EOF
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
# file-system mount-point type options dump pass
/dev/mapper/root-root / btrfs defaults,space_cache,noatime,nodiratime,discard,subvol=@ 0 1
UUID=$(blkid -o value -s UUID /dev/md1) /boot btrfs defaults,space_cache,noatime,nodiratime,discard 0 2
/dev/mapper/root-root /home btrfs defaults,space_cache,noatime,nodiratime,discard,subvol=@home 0 2
/dev/mapper/root-swap none swap sw 0 0
EOF
เชเชตเซเช เชเซเชฎ..?เช
เชฎเซ UUID เชฆเซเชตเชพเชฐเชพ /boot เชชเชพเชฐเซเชเซเชถเชจ เชฎเชพเชเซ เชถเซเชงเซเชถเซเช. เชเชฐเซ เชจเชพเชฎเชเชฐเชฃ เชธเซเชฆเซเชงเชพเชเชคเชฟเช เชฐเซเชคเซ เชฌเชฆเชฒเชพเช เชถเชเซ เชเซ.
เช เชฎเซ เชฌเชพเชเซเชจเชพ เชตเชฟเชญเชพเชเซเชจเซ LVM เชจเชพเชฎเซ เชฆเซเชตเชพเชฐเชพ /dev/mapper/vg-lv เชจเซเชเซเชถเชจเชฎเชพเช เชถเซเชงเซเชถเซเช, เชเชพเชฐเชฃ เชเซ เชคเซเช เชชเชพเชฐเซเชเซเชถเชจเซเชจเซ เชคเชฆเซเชฆเชจ เชตเชฟเชถเชฟเชทเซเช เชฐเซเชคเซ เชเชณเชเซ เชเซ.
เช เชฎเซ LVM เชฎเชพเชเซ UUID เชจเซ เชเชชเชฏเซเช เชเชฐเชคเชพ เชจเชฅเซ เชเชพเชฐเชฃ เชเซ LVM เชตเซเชฒเซเชฏเซเชฎเซ เช เชจเซ เชคเซเชฎเชจเชพ เชธเซเชจเซเชชเชถเซเชเชจเซเช UUID เชธเชฎเชพเชจ เชนเซเช เชถเชเซ เชเซ.เชฎเชพเชเชจเซเช /dev/mapper/root-root.. เชฌเซ เชตเชพเชฐ?เชนเชพ. เชฌเชฐเชพเชฌเชฐ. BTRFS เชจเซ เชตเชฟเชถเซเชทเชคเชพ. เช เชซเชพเชเชฒ เชธเชฟเชธเซเชเชฎ เชตเชฟเชตเชฟเชง เชธเชฌเชตเซเชฒ เชธเชพเชฅเซ เชเชฃเซ เชตเชเชค เชฎเชพเชเชจเซเช เชเชฐเซ เชถเชเชพเชฏ เชเซ.
เช เช เชฒเชเซเชทเชฃเชจเซ เชฒเซเชงเซ, เชนเซเช เชเซเชฏเชพเชฐเซเชฏ เชธเชเซเชฐเชฟเชฏ BTRFS เชตเซเชฒเซเชฏเซเชฎเซเชจเชพ LVM เชธเซเชจเซเชชเชถเซเช เชฌเชจเชพเชตเชตเชพเชจเซ เชญเชฒเชพเชฎเชฃ เชเชฐเชคเซ เชจเชฅเซ. เชเซเชฏเชพเชฐเซ เชคเชฎเซ เชฐเซเชฌเซเช เชเชฐเซ เชคเซเชฏเชพเชฐเซ เชคเชฎเชจเซ เชเชถเซเชเชฐเซเชฏ เชฎเชณเซ เชถเชเซ เชเซ.
เชเชพเชฒเซ mdadm เชฐเซเชชเชฐเซเชเชพเชจเซ เชซเชฐเซเชฅเซ เชฌเชจเชพเชตเซเช:
#/usr/share/mdadm/mkconf | sed 's/#DEVICE/DEVICE/g' >/etc/mdadm/mdadm.conf
เชเชพเชฒเซ LVM เชธเซเชเชฟเชเชเซเชธเชจเซ เชธเชฎเชพเชฏเซเชเชฟเชค เชเชฐเซเช:
#cat >>/etc/lvm/lvmlocal.conf << EOF
activation {
thin_pool_autoextend_threshold=90
thin_pool_autoextend_percent=5
}
allocation {
cache_pool_max_chunks=2097152
}
devices {
global_filter=["r|^/dev/.*_corig$|","r|^/dev/.*_cdata$|","r|^/dev/.*_cmeta$|","r|^/dev/.*gpv$|","r|^/dev/images/.*$|","r|^/dev/mapper/images.*$|","r|^/dev/backup/.*$|","r|^/dev/mapper/backup.*$|"]
issue_discards=1
}
EOF
เชถเซเช เชนเชคเซเช..?เช
เชฎเซ เชเชฌเชเซ เชเชฐเซเชฒเซ เชเชเซเชฏเชพเชจเชพ 90% เชธเซเชงเซ เชตเซเชฒเซเชฏเซเชฎเชจเชพ 5% เชธเซเชงเซ เชชเชนเซเชเชเชตเชพ เชชเชฐ LVM เชชเชพเชคเชณเชพ เชชเซเชฒเชจเชพ เชธเซเชตเชเชพเชฒเชฟเชค เชตเชฟเชธเซเชคเชฐเชฃเชจเซ เชธเชเซเชทเชฎ เชเชฐเซเชฏเซเช เชเซ.
เช เชฎเซ LVM เชเซเชถ เชฎเชพเชเซ เชเซเชถ เชฌเซเชฒเซเชเซเชธเชจเซ เชฎเชนเชคเซเชคเชฎ เชธเชเชเซเชฏเชพ เชตเชงเชพเชฐเซ เชเซ.
เช เชฎเซ LVM เชจเซ เชเชจเชพ เชชเชฐ LVM เชตเซเชฒเซเชฏเซเชฎเซเชธ (PV) เชถเซเชงเชตเชพเชฅเซ เช เชเชเชพเชตเซเชฏเซเช เชเซ:
- LVM เชเซเชถ (cdata) เชงเชฐเชพเชตเชคเชพ เชเชชเชเชฐเชฃเซ
- LVM เชเซเชถเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเซเชถ เชฅเชฏเซเชฒ เชเชชเชเชฐเชฃเซ, เชเซเชถเชจเซ เชฌเชพเชฏเชชเชพเชธ เชเชฐเซเชจเซ ( _เชเซเชฐเซเช). เช เชเชฟเชธเซเชธเชพเชฎเชพเช, เชเซเชถเซเชก เชเชชเชเชฐเชฃ เชนเชเซ เชชเชฃ เชเซเชถ เชฆเซเชตเชพเชฐเชพ เชธเซเชเซเชจ เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ (เชซเชเซเชค ).
- LVM เชเซเชถ เชฎเซเชเชพเชกเซเชเชพ (cmeta) เชงเชฐเชพเชตเชคเชพ เชเชชเชเชฐเชฃเซ
- VG เชฎเชพเช เชคเชฎเชพเชฎ เชเชชเชเชฐเชฃเซ เชจเชพเชฎเชจเซ เชเชฌเซเช เชธเชพเชฅเซ. เช เชนเซเช เช เชฎเชพเชฐเซ เชชเชพเชธเซ เชตเชฐเซเชเซเชฏเซเช เชฒ เชฎเชถเซเชจเซเชจเซ เชกเชฟเชธเซเช เชเชฎเซเชเซ เชนเชถเซ, เช เชจเซ เช เชฎเซ เชจเชฅเซ เชเชเซเชเชคเชพ เชเซ เชนเซเชธเซเช เชชเชฐ LVM เชเซเชธเซเช OS เชธเชพเชฅเซ เชเซเชกเชพเชฏเซเชฒเชพ เชตเซเชฒเซเชฏเซเชฎเซเชจเซ เชธเชเซเชฐเชฟเชฏ เชเชฐเซ.
- เชจเชพเชฎ เชฌเซเชเช เชช เชธเชพเชฅเซ VG เชฎเชพเช เชคเชฎเชพเชฎ เชเชชเชเชฐเชฃเซ. เช เชนเซเช เชเชชเชฃเซ เชชเชพเชธเซ เชตเชฐเซเชเซเชฏเซเช เชฒ เชฎเชถเซเชจ เชเชฎเซเชเซเชธเชจเซ เชฌเซเชเช เชช เชเซเชชเซ เชนเชถเซ.
- เชฌเชงเชพ เชเชชเชเชฐเชฃเซ เชเซ เชเซเชจเชพ เชจเชพเชฎ "gpv" เชธเชพเชฅเซ เชธเชฎเชพเชชเซเชค เชฅเชพเชฏ เชเซ (เช เชคเชฟเชฅเชฟ เชญเซเชคเชฟเช เชตเซเชฒเซเชฏเซเชฎ)
LVM VG เชชเชฐ เชเชพเชฒเซ เชเชเซเชฏเชพ เชเชพเชฒเซ เชเชฐเชคเซ เชตเชเชคเซ เช เชฎเซ DISCARD เชธเชชเซเชฐเซเช เชธเชเซเชฐเชฟเชฏ เชเชฐเซเชฏเซ เชเซ. เชธเชพเชตเชเซเชค เชฐเชนเซ. เชเชจเชพเชฅเซ SSD เชชเชฐ LVs เชเชพเชขเซ เชจเชพเชเชตเชพเชฎเชพเช เชเชฃเซ เชธเชฎเชฏ เชฒเชพเชเชถเซ. เช เชเชพเชธ เชเชฐเซเชจเซ SSD RAID 6 เชชเชฐ เชฒเชพเชเซ เชชเชกเซ เชเซ. เชเซ เชเซ, เชฏเซเชเชจเชพ เช เชจเซเชธเชพเชฐ, เช เชฎเซ เชชเชพเชคเชณเซ เชเซเชเชตเชพเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชถเซเช, เชคเซเชฅเซ เช เช เชฎเชจเซ เชฌเชฟเชฒเชเซเชฒ เช เชตเชฐเซเชงเซ เชจเชนเซเช.
เชเชพเชฒเซ initramfs เชเชฎเซเช เช เชชเชกเซเช เชเชฐเซเช:
#update-initramfs -u -k all
เชเซเชฐเชฌ เชเชจเซเชธเซเชเซเชฒ เช เชจเซ เชเซเช เชตเซ:
#apt-get install grub-pc
#apt-get purge os-prober
#dpkg-reconfigure grub-pc
เชเช เชกเชฟเชธเซเช เชชเชธเชเชฆ เชเชฐเชตเซ?เชฌเชงเชพ เชเซเช sd* เชเซ. เชธเชฟเชธเซเชเชฎ เชเซเชเชชเชฃ เชเชพเชฐเซเชฏเชฐเชค SATA เชกเซเชฐเชพเชเชต เช เชฅเชตเชพ SSD เชฎเชพเชเชฅเซ เชฌเซเช เชเชฐเชตเชพ เชธเชเซเชทเชฎ เชนเซเชตเซ เชเซเชเช.
เชถเชพ เชฎเชพเชเซ เชคเซเชเช เชเชเชธ-เชชเซเชฐเซเชฌเชฐ เชเชฎเซเชฐเซเชฏเซเช..?เช เชคเชฟเชถเชฏ เชธเซเชตเชคเชเชคเซเชฐเชคเชพ เช เชจเซ เชฐเชฎเชคเชฟเชฏเชพเชณ เชนเชพเชฅ เชฎเชพเชเซ.
เชคเซ เชฏเซเชเซเชฏ เชฐเซเชคเซ เชเชพเชฎ เชเชฐเชคเซเช เชจเชฅเซ เชเซ RAIDsเชฎเชพเชเชฅเซ เชเช เชกเชฟเชเซเชฐเซเชกเซเชก เชธเซเชเซเชเชฎเชพเช เชนเซเชฏ. เชคเซ เชชเชพเชฐเซเชเซเชถเชจเซ เชชเชฐ OS เชถเซเชงเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซ เชเซ เชเซเชจเซ เชเชชเชฏเซเช เช เชนเชพเชฐเซเชกเชตเซเชฐ เชชเชฐ เชเชพเชฒเชคเชพ เชตเชฐเซเชเซเชฏเซเช เชฒ เชฎเชถเซเชจเซเชฎเชพเช เชฅเชพเชฏ เชเซ.
เชเซ เชคเชฎเชจเซ เชคเซเชจเซ เชเชฐเซเชฐ เชนเซเชฏ, เชคเซ เชคเชฎเซ เชคเซเชจเซ เชเซเชกเซ เชถเชเซ เชเซ, เชชเชฐเชเชคเซ เชเชชเชฐเซเชเซเชค เชคเชฎเชพเชฎ เชฌเชพเชฌเชคเซเชจเซ เชงเซเชฏเชพเชจเชฎเชพเช เชฐเชพเชเซ. เชนเซเช เชเชจเชฒเชพเชเชจ เชคเซเชซเชพเชจเซ เชนเชพเชฅเชฅเซ เชเซเชเชเชพเชฐเซ เชฎเซเชณเชตเชตเชพ เชฎเชพเชเซเชจเซ เชตเชพเชจเชเซเช เชถเซเชงเชตเชพเชจเซ เชญเชฒเชพเชฎเชฃ เชเชฐเซเช เชเซเช.
เช เชธเชพเชฅเซ เช เชฎเซ เชชเซเชฐเชพเชฐเชเชญเชฟเช เชเชจเซเชธเซเชเซเชฒเซเชถเชจ เชชเซเชฐเซเชฃ เชเชฐเซเชฏเซเช เชเซ. เชจเชตเชพ เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเชฒ OS เชฎเชพเช เชฐเซเชฌเซเช เชเชฐเชตเชพเชจเซ เชธเชฎเชฏ เชเซ. เชฌเซเช เชเชฐเซ เชถเชเชพเชฏ เชคเซเชตเซ Live CD/USB เชฆเซเชฐ เชเชฐเชตเชพเชจเซเช เชญเซเชฒเชถเซ เชจเชนเซเช.
#exit
#reboot
เชฌเซเช เชเชชเชเชฐเชฃ เชคเชฐเซเชเซ เชเซเชเชชเชฃ SATA SSDs เชชเชธเชเชฆ เชเชฐเซ.
SATA SSD เชชเชฐ LVM
เช เชฌเชฟเชเชฆเซเช, เช เชฎเซ เชชเชนเซเชฒเซเชฅเซ เช เชจเชตเชพ OS เชฎเชพเช เชฌเซเช เชเชฐเซเชฏเซเช เชเซ, เชจเซเชเชตเชฐเซเช เชเซเช เชตเซเชฏเซเช เชเซ, เชฏเซเชเซเชฏ เชเซ, เชเชฐเซเชฎเชฟเชจเชฒ เชเชฎเซเชฏเซเชฒเซเชเชฐ เชเซเชฒเซเชฏเซเช เชเซ เช เชจเซ เชฒเซเชจเซเช เชเชฐเซเชฏเซเช เชเซ:
#sudo bash
เชเชพเชฒเซ เชเชพเชฒเซ เชฐเชพเชเซเช.
SATA SSD เชฎเชพเชเชฅเซ เชเชฐเซเชจเซ "เชชเซเชฐเชพเชฐเชเชญ เชเชฐเซ":
#blkdiscard /dev/md2
เชเซ เชคเซ เชเชพเชฎ เชเชฐเชคเซเช เชจเชฅเซ, เชคเซ เชชเชเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซ:
#blkdiscard --step 65536 /dev/md2
SATA SSD เชชเชฐ LVM VG เชฌเชจเชพเชตเซ:
#pvcreate /dev/md2
#vgcreate data /dev/md2
เชถเชพ เชฎเชพเชเซ เช เชจเซเชฏ VG..?เชนเชเซเชเชคเชฎเชพเช, เช เชฎเชพเชฐเซ เชชเชพเชธเซ เชชเชนเซเชฒเชพเชฅเซ เช เชฐเซเช เชจเชพเชฎเชจเซเช VG เชเซ. เชถเชพ เชฎเชพเชเซ เชเช VG เชฎเชพเช เชฌเชงเซเช เชเชฎเซเชฐเชคเชพ เชจเชฅเซ?
เชเซ VG เชฎเชพเช เช เชจเซเช PVs เชนเซเชฏ, เชคเซ VG เชฏเซเชเซเชฏ เชฐเซเชคเซ เชธเชเซเชฐเชฟเชฏ เชฅเชพเชฏ เชคเซ เชฎเชพเชเซ, เชฌเชงเชพ PV เชนเชพเชเชฐ (เชเชจเชฒเชพเชเชจ) เชนเซเชตเชพ เชเซเชเช. เช เชชเชตเชพเชฆ LVM RAID เชเซ, เชเซ เชเชชเชฃเซ เชเชพเชฃเซเชเซเชเชจเซ เชตเชพเชชเชฐเชคเชพ เชจเชฅเซ.
เช เชฎเซ เชเชฐเซเชเชฐ เชเชเซเชเซเช เชเซเช เชเซ เชเซ RAID 6 เชเชฐเซเชฎเชพเชเชฅเซ เชเซเชเชชเชฃ เชชเชฐ เชจเชฟเชทเซเชซเชณเชคเชพ (เชกเซเชเชพ เชจเซเชเชถเชพเชจ เชตเชพเชเชเซ) เชนเซเชฏ, เชคเซ เชเชชเชฐเซเชเชฟเชเช เชธเชฟเชธเซเชเชฎ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ เชฌเซเช เชฅเชถเซ เช เชจเซ เช เชฎเชจเซ เชธเชฎเชธเซเชฏเชพ เชนเชฒ เชเชฐเชตเชพเชจเซ เชคเช เชเชชเชถเซ.
เช เชเชฐเชตเชพ เชฎเชพเชเซ, เช เชฎเซเชฐเซเชคเชคเชพเชจเชพ เชชเซเชฐเชฅเชฎ เชธเซเชคเชฐเซ เช เชฎเซ เชฆเชฐเซเช เชชเซเชฐเชเชพเชฐเชจเชพ เชญเซเชคเชฟเช "เชฎเซเชกเชฟเชฏเชพ" เชจเซ เช เชฒเช VG เชฎเชพเช เช เชฒเช เชเชฐเซเชถเซเช.
เชตเซเชเซเชเชพเชจเชฟเช เชฐเซเชคเซ เชเชนเซเช เชคเซ, เชตเชฟเชตเชฟเชง RAID เชเชฐเซ เชตเชฟเชตเชฟเชง "เชตเชฟเชถเซเชตเชธเชจเซเชฏเชคเชพ เชกเซเชฎเซเชจเซเชธ" เชฅเซ เชธเชเชฌเชเชงเชฟเชค เชเซ. เชคเชฎเชพเชฐเซ เชคเซเชฎเชจเซ เชเช VG เชฎเชพเช เชเซเชฐเซเชฎ เชเชฐเซเชจเซ เชคเซเชฎเชจเชพ เชฎเชพเชเซ เชจเชฟเชทเซเชซเชณเชคเชพเชจเซ เชตเชงเชพเชฐเชพเชจเซ เชธเชพเชฎเชพเชจเซเชฏ เชฎเซเชฆเซเชฆเซ เชฌเชจเชพเชตเชตเซ เชเซเชเช เชจเชนเซเช.
"เชนเชพเชฐเซเชกเชตเซเชฐ" เชธเซเชคเชฐเซ LVM เชจเซ เชนเชพเชเชฐเซ เชเชชเชฃเชจเซ เชตเชฟเชตเชฟเชง RAID เชเชฐเซเชจเชพ เชเซเชเชกเชพเชเชจเซ เช เชฒเช เช เชฒเช เชฐเซเชคเซ เชเซเชกเซเชจเซ เชฎเชจเชธเซเชตเซ เชฐเซเชคเซ เชเชพเชชเซ เชจเชพเชเชตเชพเชจเซ เชชเชฐเชตเชพเชจเชเซ เชเชชเชถเซ. เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ - เชเชฒเชพเชตเซ เชคเซ เช เชธเชฎเชฏเซ bcache + LVM เชชเชพเชคเชณเซเช, bcache + BTRFS, LVM cache + LVM เชชเชพเชคเชณเซเช, เชเซเชถ เชธเชพเชฅเซเชจเซเช เชเชเชฟเชฒ ZFS เชฐเซเชชเชฐเซเชเชพเชเชเชจ, เช เชฅเชตเชพ เชคเซ เชฌเชงเชพเชจเซ เช เชเชฎเชพเชตเชตเชพ เช เชจเซ เชคเซเชจเซ เชคเซเชฒเชจเชพ เชเชฐเชตเชพ เชฎเชพเชเซ เชเซเชเชชเชฃ เช เชจเซเชฏ เชจเชฐเช เชฎเชฟเชถเซเชฐเชฃ.
"เชนเชพเชฐเซเชกเชตเซเชฐ" เชธเซเชคเชฐเซ, เช เชฎเซ เชธเชพเชฐเชพ เชเซเชจเชพ "เชเชพเชกเชพ" LVM เชตเซเชฒเซเชฏเซเชฎเซ เชธเชฟเชตเชพเชฏ เชฌเซเชเซเช เชเชเชเชชเชฃ เชตเชพเชชเชฐเซเชถเซเช เชจเชนเซเช. เช เชจเชฟเชฏเชฎเชจเซ เช เชชเชตเชพเชฆ เชฌเซเชเช เชช เชชเชพเชฐเซเชเซเชถเชจ เชนเซเช เชถเชเซ เชเซ.
เชฎเชจเซ เชฒเชพเชเซ เชเซ เชเซ เช เชเซเชทเชฃ เชธเซเชงเซเชฎเชพเช, เชเชฃเชพ เชตเชพเชเชเซ เชจเซเชธเซเชเชฟเชเช เชกเซเชฒ เชตเชฟเชถเซ เชเชเชเช เชถเชเชเชพ เชเชฐเชตเชพเชจเซเช เชถเชฐเซ เชเชฐเซ เชฆเซเชงเซเช เชนเชคเซเช.
SATA HDD เชชเชฐ LVM
#pvcreate /dev/md3
#vgcreate backup /dev/md3
เชซเชฐเซ เชจเชตเซเช เชตเซเชเซ..?เช เชฎเซ เชเชฐเซเชเชฐ เชเชเซเชเซเช เชเซเช เชเซ เชเซ เช เชฎเซ เชกเซเชเชพ เชฌเซเชเช เชช เชฎเชพเชเซ เชเชชเชฏเซเช เชเชฐเซเชถเซเช เชคเซ เชกเชฟเชธเซเช เชเชฐเซ เชจเชฟเชทเซเชซเชณ เชเชพเชฏ, เชคเซ เช เชฎเชพเชฐเซ เชเชชเชฐเซเชเชฟเชเช เชธเชฟเชธเซเชเชฎ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ เชเชพเชฎ เชเชฐเชตเชพเชจเซเช เชเชพเชฒเซ เชฐเชพเชเชถเซ, เชเซเชฏเชพเชฐเซ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ เชฌเชฟเชจ-เชฌเซเชเช เชช เชกเซเชเชพเชจเซ เชเชเซเชธเซเชธ เชเชพเชณเชตเซ เชฐเชพเชเชถเซ. เชคเซเชฅเซ, VG เชธเชเซเชฐเชฟเชฏเชเชฐเชฃ เชธเชฎเชธเซเชฏเชพเช เชเชพเชณเชตเชพ เชฎเชพเชเซ, เช เชฎเซ เชเช เช เชฒเช VG เชฌเชจเชพเชตเซเช เชเซเช.
LVM เชเซเชถ เชธเซเชฏเซเชเชฟเชค เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช
เชเชพเชฒเซ เชคเซเชจเซ เชเซเชถเซเชเช เชเชชเชเชฐเชฃ เชคเชฐเซเชเซ เชตเชพเชชเชฐเชตเชพ เชฎเชพเชเซ NVMe RAID 1 เชชเชฐ LV เชฌเชจเชพเชตเซเช.
#lvcreate -L 70871154688B --name cache root
เชเชเชฒเซเช เชเชเซเช เชเซเชฎ เชเซ...?เชนเชเซเชเชค เช เชเซ เชเซ เช เชฎเชพเชฐเชพ NVMe SSDs เชชเชพเชธเซ SLC เชเซเชถ เชชเชฃ เชเซ. 4-เชฌเซเช MLC เชฎเชพเช เชเชฌเชเซ เชเชฐเซเชฒเซ เชเชพเชฒเซ เชเชเซเชฏเชพเชจเซ เชเชพเชฐเชฃเซ 18 เชเซเชเชพเชฌเชพเชเชเซเชธ "เชซเซเชฐเซ" เช เชจเซ 3 เชเซเชเชพเชฌเชพเชเชเซเชธ เชกเชพเชฏเชจเซเชฎเชฟเช. เชเชเชตเชพเชฐ เช เชเซเชถ เชเชฒเชพเชธ เชฅเช เชเชพเชฏ, NVMe SSD เช เชเซเชถ เชธเชพเชฅเซเชจเชพ เช เชฎเชพเชฐเชพ SATA SSD เชเชฐเชคเชพเช เชตเชงเซ เชเชกเชชเซ เชจเชนเซเช เชนเซเชฏ. เชตเชพเชธเซเชคเชตเชฎเชพเช, เช เชเชพเชฐเชฃเซเชธเชฐ, LVM เชเซเชถ เชชเชพเชฐเซเชเซเชถเชจเชจเซ NVMe เชกเซเชฐเชพเชเชตเชจเชพ SLC เชเซเชถเชจเชพ เชเชฆ เชเชฐเชคเชพเช เชฌเชฎเชฃเซเช เชฎเซเชเซเช เชฌเชจเชพเชตเชตเชพเชจเซ เชเซเช เช เชฐเซเชฅ เชจเชฅเซ. เชเชชเชฏเซเชเชฎเชพเช เชฒเซเชตเชพเชคเซ NVMe เชกเซเชฐเชพเชเชตเซเชธ เชฎเชพเชเซ, เชฒเซเชเช 32-64 เชเซเชเชพเชฌเชพเชเชเซเชธ เชเซเชถ เชฌเชจเชพเชตเชตเชพเชจเซเช เชตเชพเชเชฌเซ เชฎเชพเชจเซ เชเซ.
เชเชชเซเชฒ เชชเชพเชฐเซเชเซเชถเชจ เชฎเชพเชช 64 เชเซเชเชพเชฌเชพเชเชเซเชธ เชเซเชถ, เชเซเชถ เชฎเซเชเชพเชกเซเชเชพ เช เชจเซ เชฎเซเชเชพเชกเซเชเชพ เชฌเซเชเช เชช เชเซเช เชตเชตเชพ เชฎเชพเชเซ เชเชฐเซเชฐเซ เชเซ.
เชตเชงเซเชฎเชพเช, เชนเซเช เชจเซเชเชงเซเช เชเซเช เชเซ เชเชเชฆเชพ เชธเชฟเชธเซเชเชฎ เชฌเชเชง เชฅเชฏเชพ เชชเชเซ, LVM เชธเชฎเชเซเชฐ เชเซเชถเชจเซ เชเชเชฆเชพ เชคเชฐเซเชเซ เชเชฟเชนเซเชจเชฟเชค เชเชฐเชถเซ เช เชจเซ เชซเชฐเซเชฅเซ เชธเซเชฎเซเชณ เชเชฐเชถเซ. เชคเชฆเซเชชเชฐเชพเชเชค, เชธเชฟเชธเซเชเชฎ เชซเชฐเซเชฅเซ เชฐเซเชฌเซเช เชจ เชฅเชพเชฏ เชคเซเชฏเชพเช เชธเซเชงเซ เช เชเชชเชเชฐเชฃ เชชเชฐ lvchangeเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชคเซเชฏเชพเชฐเซ เชฆเชฐ เชตเชเชคเซ เช เชชเซเชจเชฐเชพเชตเชฐเซเชคเชจ เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ. เชคเซเชฅเซ, เชนเซเช เชฏเซเชเซเชฏ เชธเซเชเซเชฐเชฟเชชเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชคเชฐเชค เช เชเซเชถเชจเซ เชซเชฐเซเชฅเซ เชฌเชจเชพเชตเชตเชพเชจเซ เชญเชฒเชพเชฎเชฃ เชเชฐเซเช เชเซเช.
เชเชพเชฒเซ เชคเซเชจเซ เชเซเชถเซเชก เชเชชเชเชฐเชฃ เชคเชฐเซเชเซ เชตเชพเชชเชฐเชตเชพ เชฎเชพเชเซ SATA RAID 6 เชชเชฐ LV เชฌเชจเชพเชตเซเช.
#lvcreate -L 3298543271936B --name cache data
เชถเชพ เชฎเชพเชเซ เชฎเชพเชคเซเชฐ เชคเซเชฐเชฃ เชเซเชฐเชพเชฌเชพเชเช..?เชเซเชฅเซ เชเชฐเซเชจเซ, เชเซ เชเชฐเซเชฐเซ เชนเซเชฏ, เชคเซ เชคเชฎเซ เชเซเชเชฒเซเช เช เชจเซเชฏ เชเชฐเซเชฐเชฟเชฏเชพเชคเซ เชฎเชพเชเซ SATA SSD RAID 6 เชจเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเซ เชเซ. เชเซเชถเซเชก เชธเซเชชเซเชธเชจเซเช เชเชฆ เชธเชฟเชธเซเชเชฎเชจเซ เชฐเซเชเซเชฏเชพ เชตเชฟเชจเชพ, เชซเซเชฒเชพเชฏ เชชเชฐ, เชเชคเชฟเชถเซเชฒ เชฐเซเชคเซ เชตเชงเชพเชฐเซ เชถเชเชพเชฏ เชเซ. เช เชเชฐเชตเชพ เชฎเชพเชเซ, เชคเชฎเชพเชฐเซ เชเซเชถเชจเซ เช เชธเซเชฅเชพเชฏเซ เชฐเซเชชเซ เชฌเชเชง เชเชฐเชตเชพเชจเซ เช เชจเซ เชซเชฐเซเชฅเซ เชธเชเซเชทเชฎ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ, เชชเชฐเชเชคเซ LVM-cache เชเชตเชฐเชจเซ เชตเชฟเชถเชฟเชทเซเช เชซเชพเชฏเชฆเซ, เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, bcache เช เชเซ เชเซ เช เชซเซเชฒเชพเชฏ เชชเชฐ เชเชฐเซ เชถเชเชพเชฏ เชเซ.
เชเชพเชฒเซ เชเซเชถเซเชเช เชฎเชพเชเซ เชเช เชจเชตเซเช VG เชฌเชจเชพเชตเซเช.
#pvcreate /dev/root/cache
#pvcreate /dev/data/cache
#vgcreate cache /dev/root/cache /dev/data/cache
เชเชพเชฒเซ เชเซเชถเซเชก เชเชชเชเชฐเชฃ เชชเชฐ เชเชฒเชตเซ โโเชฌเชจเชพเชตเซเช.
#lvcreate -L 3298539077632B --name cachedata cache /dev/data/cache
เช เชนเซเช เช เชฎเซ เชคเชฐเชค เช /dev/data/cache เชชเชฐ เชฌเชงเซ เชเชพเชฒเซ เชเชเซเชฏเชพ เชฒเช เชฒเซเชงเซ เชเซ เชเซเชฅเซ เชเชฐเซเชจเซ เช เชจเซเชฏ เชคเชฎเชพเชฎ เชเชฐเซเชฐเซ เชชเชพเชฐเซเชเซเชถเชจเซ /dev/root/cache เชชเชฐ เชคเชฐเชค เช เชฌเชจเชพเชตเชตเชพเชฎเชพเช เชเชตเซ. เชเซ เชคเชฎเซ เชเซเชเซ เชเชเซเชฏเชพเช เชเชเชเช เชฌเชจเชพเชตเซเชฏเซเช เชนเซเชฏ, เชคเซ เชคเชฎเซ pvmove เชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชคเซเชจเซ เชเชธเซเชกเซ เชถเชเซ เชเซ.
เชเชพเชฒเซ เชเซเชถ เชฌเชจเชพเชตเซเช เช เชจเซ เชธเชเซเชทเชฎ เชเชฐเซเช:
#lvcreate -y -L 64G -n cache cache /dev/root/cache
#lvcreate -y -L 1G -n cachemeta cache /dev/root/cache
#lvconvert -y --type cache-pool --cachemode writeback --chunksize 64k --poolmetadata cache/cachemeta cache/cache
#lvconvert -y --type cache --cachepool cache/cache cache/cachedata
เชถเชพ เชฎเชพเชเซ เชเชเชฒเซ เชเชเชเชธเชพเชเช..?เชชเซเชฐเชพเชฏเซเชเชฟเช เชชเซเชฐเชฏเซเชเซ เชฆเซเชตเชพเชฐเชพ, เชฒเซเชเช เช เชเชพเชฃเชตเชพเชฎเชพเช เชธเชเซเชทเชฎ เชนเชคเชพ เชเซ เชเซ LVM เชเซเชถ เชฌเซเชฒเซเชเชจเซเช เชเชฆ LVM เชชเชพเชคเชณเชพ เชฌเซเชฒเซเชเชจเชพ เชเชฆ เชธเชพเชฅเซ เชเชเชฐเซเชช เชนเซเชฏ เชคเซ เชถเซเชฐเซเชทเซเช เชชเชฐเชฟเชฃเชพเชฎ เชชเซเชฐเชพเชชเซเชค เชฅเชพเชฏ เชเซ. เชคเชฆเซเชชเชฐเชพเชเชค, เชเชฆ เชเซเชเชฒเซเช เชจเชพเชจเซเช เชเซ, เชฐเซเชจเซเชกเชฎ เชฐเซเชเซเชฐเซเชกเชฟเชเชเชฎเชพเช เชเซเช เชตเชฃเซ เชตเชงเซ เชธเชพเชฐเซ เชฐเซเชคเซ เชเชฐเซ เชเซ.
64k เช LVM เชชเชพเชคเชณเชพ เชฎเชพเชเซ เชฎเชเชเซเชฐ เชฒเชเซเชคเซเชคเชฎ เชฌเซเชฒเซเช เชเชฆ เชเซ.
เชฒเชเชตเชพ เชธเชพเชตเชเซเชค เชฐเชนเซ..!เชนเชพ. เช เชชเซเชฐเชเชพเชฐเชจเซ เชเซเชถ เชเซเชถเซเชก เชเชชเชเชฐเชฃ เชชเชฐ เชฒเชเชตเชพเชจเซเช เชธเชฟเชเชเซเชฐเชจเชพเชเชเซเชถเชจ เชตเชฟเชฒเชเชฌเชฟเชค เชเชฐเซ เชเซ. เชเชจเซ เช เชฐเซเชฅ เช เชเซ เชเซ เชเซ เชเซเชถ เชเซเชตเชพเช เชเชพเชฏ, เชคเซ เชคเชฎเซ เชเซเชถเซเชก เชเชชเชเชฐเชฃ เชชเชฐเชจเซ เชกเซเชเชพ เชเซเชฎเชพเชตเซ เชถเชเซ เชเซ. เชชเชพเชเชณเชฅเซ, เชฒเซเชเช เชคเชฎเชจเซ เชเชฃเชพเชตเชถเซ เชเซ เช เชเซเชเชฎเชจเซ เชญเชฐเชชเชพเช เชเชฐเชตเชพ NVMe RAID 1 เชเชชเชฐเชพเชเชค เชเชฏเชพ เชชเชเชฒเชพเช เชฒเช เชถเชเชพเชฏ.
เช เชเซเชถ เชชเซเชฐเชเชพเชฐ เชเชฐเชพเชฆเชพเชชเซเชฐเซเชตเช RAID 6 เชจเชพ เชจเชฌเชณเชพ เชฐเซเชจเซเชกเชฎ เชฒเซเชเชจ เชชเซเชฐเชฆเชฐเซเชถเชจเชจเซ เชตเชณเชคเชฐ เชเชชเชตเชพ เชฎเชพเชเซ เชชเชธเชเชฆ เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซ เชนเชคเซ.
เชเชพเชฒเซ เชคเชชเชพเชธเซเช เชเซ เช เชฎเชจเซ เชถเซเช เชฎเชณเซเชฏเซเช:
#lvs -a -o lv_name,lv_size,devices --units B cache
LV LSize Devices
[cache] 68719476736B cache_cdata(0)
[cache_cdata] 68719476736B /dev/root/cache(0)
[cache_cmeta] 1073741824B /dev/root/cache(16384)
cachedata 3298539077632B cachedata_corig(0)
[cachedata_corig] 3298539077632B /dev/data/cache(0)
[lvol0_pmspare] 1073741824B /dev/root/cache(16640)
เชฎเชพเชคเซเชฐ [cachedata_corig] /dev/data/cache เชชเชฐ เชธเซเชฅเชฟเชค เชนเซเชตเซเช เชเซเชเช. เชเซ เชเชเชเช เชเซเชเซเช เชเซ, เชคเซ เชชเชเซ pvmove เชจเซ เชเชชเชฏเซเช เชเชฐเซ.
เชเซ เชเชฐเซเชฐเซ เชนเซเชฏ เชคเซ เชเช เชเชฆเซเชถ เชธเชพเชฅเซ เชคเชฎเซ เชเซเชถเชจเซ เช เชเซเชทเชฎ เชเชฐเซ เชถเชเซ เชเซ:
#lvconvert -y --uncache cache/cachedata
เช เชเชจเชฒเชพเชเชจ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ. LVM เชซเชเซเชค เชเซเชถเชจเซ เชกเชฟเชธเซเชเชฎเชพเช เชธเชฎเชจเซเชตเชฏเชฟเชค เชเชฐเชถเซ, เชคเซเชจเซ เชฆเซเชฐ เชเชฐเชถเซ, เช เชจเซ cachedata_corig เชจเซ เชชเชพเชเซเช cachedata เชฎเชพเช เชจเชพเชฎ เชฌเชฆเชฒเชถเซ.
LVM เชชเชพเชคเชณเซเช เชธเซเชฏเซเชเชฟเชค เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช
เชเชพเชฒเซ เช เชเชฆเชพเช เชฒเชเชพเชตเซเช เชเซ LVM เชชเชพเชคเชณเชพ เชฎเซเชเชพเชกเซเชเชพ เชฎเชพเชเซ เชเชชเชฃเชจเซ เชเซเชเชฒเซ เชเชเซเชฏเชพเชจเซ เชเชฐเซเชฐ เชเซ:
#thin_metadata_size --block-size=64k --pool-size=6terabytes --max-thins=100000 -u bytes
thin_metadata_size - 3385794560 bytes estimated metadata area size for "--block-size=64kibibytes --pool-size=6terabytes --max-thins=100000"
4 เชเซเชเชพเชฌเชพเชเชเซเชธ เชธเซเชงเซ เชฐเชพเชเชจเซเชก: 4294967296B
เชฌเซ เชตเชกเซ เชเซเชฃเชพเชเชพเชฐ เชเชฐเซ เช
เชจเซ LVM PV เชฎเซเชเชพเชกเซเชเชพ เชฎเชพเชเซ 4194304B เชเชฎเซเชฐเซ: 8594128896B
เชเชพเชฒเซ NVMe RAID 1 เชชเชฐ LVM เชชเชพเชคเชณเชพ เชฎเซเชเชพเชกเซเชเชพ เช
เชจเซ เชคเซเชจเซ เชฌเซเชเช
เชช เชจเชเชฒ เชฎเซเชเชตเชพ เชฎเชพเชเซ เชเช เช
เชฒเช เชชเชพเชฐเซเชเซเชถเชจ เชฌเชจเชพเชตเซเช:
#lvcreate -L 8594128896B --name images root
เชถเซเชจเชพ เชฎเชพเชเซ..?เช เชนเซเช เชชเซเชฐเชถเซเชจ เชเชญเซ เชฅเช เชถเชเซ เชเซ: เชถเชพ เชฎเชพเชเซ LVM เชชเชพเชคเชณเชพ เชฎเซเชเชพเชกเซเชเชพเชจเซ เช เชฒเชเชฅเซ เชฎเซเชเซ เชเซ เชคเซ เชนเชเซ เชชเชฃ NVMe เชชเชฐ เชเซเชถ เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ เช เชจเซ เชเชกเชชเชฅเซ เชเชพเชฎ เชเชฐเชถเซ.
เชเซ เชเซ เช เชนเซเช เชเชกเชช เชฎเชนเชคเซเชตเชชเซเชฐเซเชฃ เชเซ, เชคเซ เชฎเซเชเซเชฏ เชเชพเชฐเชฃเชฅเซ เชฆเซเชฐ เชเซ. เชตเชธเซเชคเซ เช เชเซ เชเซ เชเซเชถ เชจเชฟเชทเซเชซเชณเชคเชพเชจเซ เชเช เชฌเชฟเชเชฆเซ เชเซ. เชคเซเชจเซ เชธเชพเชฅเซ เชเชเชเช เชฅเช เชถเชเซ เชเซ, เช เชจเซ เชเซ LVM เชชเชพเชคเชณเซ เชฎเซเชเชพเชกเซเชเชพ เชเซเชถ เชฅเชฏเซเชฒ เชนเซเชฏ, เชคเซ เชคเซ เชฌเชงเซเช เชธเชเชชเซเชฐเซเชฃเชชเชฃเซ เชจเชทเซเช เชฅเชตเชพเชจเซเช เชเชพเชฐเชฃ เชฌเชจเชถเซ. เชธเชเชชเซเชฐเซเชฃ เชฎเซเชเชพเชกเซเชเชพ เชตเชฟเชจเชพ, เชชเชพเชคเชณเชพ เชตเซเชฒเซเชฏเซเชฎเซ เชเชธเซเชฎเซเชฌเชฒ เชเชฐเชตเชพเชจเซเช เชฒเชเชญเช เช เชถเชเซเชฏ เชนเชถเซ.
เชฎเซเชเชพเชกเซเชเชพเชจเซ เช เชฒเช เชฌเชฟเชจ-เชเซเชถเซเชก, เชชเชฐเชเชคเซ เชเชกเชชเซ, เชตเซเชฒเซเชฏเซเชฎเชฎเชพเช เชเชธเซเชกเซเชจเซ, เช เชฎเซ เชเซเชถ เชเซเชตเชพเช เชเชตเชพ เช เชฅเชตเชพ เชญเซเชฐเชทเซเชเชพเชเชพเชฐเชจเซ เชธเซเชฅเชฟเชคเชฟเชฎเชพเช เชฎเซเชเชพเชกเซเชเชพเชจเซ เชธเชฒเชพเชฎเชคเซเชจเซ เชเชพเชคเชฐเซ เชเชชเซเช เชเซเช. เช เชเชฟเชธเซเชธเชพเชฎเชพเช, เชเซเชถเชจเชพ เชจเซเชเชธเชพเชจเชจเซ เชเชพเชฐเชฃเซ เชฅเชคเชพ เชคเชฎเชพเชฎ เชจเซเชเชธเชพเชจเชจเซ เชชเชพเชคเชณเชพ เชตเซเชฒเซเชฏเซเชฎเชจเซ เช เชเชฆเชฐ เชธเซเชฅเชพเชจเซเชเซเชค เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ, เชเซ เชคเซเชตเซเชฐเชคเชพเชจเชพ เชเชฐเซเชกเชฐ เชฆเซเชตเชพเชฐเชพ เชชเซเชจเชเชชเซเชฐเชพเชชเซเชคเชฟ เชชเซเชฐเชเซเชฐเชฟเชฏเชพเชจเซ เชธเชฐเชณ เชฌเชจเชพเชตเชถเซ. เชเชเซเช เชธเชเชญเชพเชตเชจเชพ เชธเชพเชฅเซ, เช เชจเซเชเชธเชพเชจ FS เชฒเซเชเซเชธเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชชเซเชจเชเชธเซเชฅเชพเชชเชฟเชค เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ.
เชคเชฆเซเชชเชฐเชพเชเชค, เชเซ เชชเชพเชคเชณเชพ เชตเซเชฒเซเชฏเซเชฎเชจเซ เชธเซเชจเซเชชเชถเซเช เช เชเชพเช เชฒเซเชตเชพเชฎเชพเช เชเชตเซเชฏเซ เชนเซเชฏ, เช เชจเซ เชคเซ เชชเชเซ เชเซเชถ เชเชเชพเชฎเชพเช เชเชเชพ เชเช เชตเชเชค เชธเชเชชเซเชฐเซเชฃ เชฐเซเชคเซ เชธเชฟเชเชเซเชฐเชจเชพเชเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ, เชคเซ เชชเชเซ, LVM เชชเชพเชคเชณเซเชจเซ เชเชเชคเชฐเชฟเช เชกเชฟเชเชพเชเชจเชจเซ เชเชพเชฐเชฃเซ, เชเซเชถเชจเชพ เชจเซเชเชถเชพเชจเชจเซ เชธเซเชฅเชฟเชคเชฟเชฎเชพเช เชธเซเชจเซเชชเชถเซเชเชจเซ เช เชเชเชกเชฟเชคเชคเชพเชจเซ เชเชพเชคเชฐเซ เชเชชเชตเชพเชฎเชพเช เชเชตเชถเซ. .
เชเชพเชฒเซ เชเช เชจเชตเซเช VG เชฌเชจเชพเชตเซเช เชเซ เชชเชพเชคเชณเซ-เชเซเชเชตเชพเช เชฎเชพเชเซ เชเชตเชพเชฌเชฆเชพเชฐ เชนเชถเซ:
#pvcreate /dev/root/images
#pvcreate /dev/cache/cachedata
#vgcreate images /dev/root/images /dev/cache/cachedata
เชเชพเชฒเซ เชเช เชชเซเชฒ เชฌเชจเชพเชตเซเช:
#lvcreate -L 274877906944B --poolmetadataspare y --poolmetadatasize 4294967296B --chunksize 64k -Z y -T images/thin-pool
เชถเชพ เชฎเชพเชเซ -Z yเช เชฎเซเชก เชตเชพเชธเซเชคเชตเชฎเชพเช เชถเซเชจเชพ เชฎเชพเชเซ เชฌเชจเชพเชตเชพเชฏเซเชฒ เชเซ เชคเซ เชเชชเชฐเชพเชเชค - เชเชเซเชฏเชพเชจเซเช เชชเซเชจเชเชตเชฟเชคเชฐเชฃ เชเชฐเชคเซ เชตเชเชคเซ เชเช เชตเชฐเซเชเซเชฏเซเช
เชฒ เชฎเชถเซเชจเชฎเชพเชเชฅเซ เชกเซเชเชพเชจเซ เชฌเซเชเชพ เชตเชฐเซเชเซเชฏเซเช
เชฒ เชฎเชถเซเชจเชฎเชพเช เชฒเซเช เชฅเชคเซ เช
เชเชเชพเชตเชตเชพ - 64k เชเชฐเชคเชพเช เชจเชพเชจเชพ เชฌเซเชฒเซเชเซเชธเชฎเชพเช เชฐเซเชจเซเชกเชฎ เชฒเชเชตเชพเชจเซ เชเชกเชช เชตเชงเชพเชฐเชตเชพ เชฎเชพเชเซ เชถเซเชจเซเชฏเชจเซ เชเชชเชฏเซเช เชชเชฃ เชฅเชพเชฏ เชเซ. เชชเชพเชคเชณเซ เชตเซเชฒเซเชฏเซเชฎเชจเชพ เช
เชเชพเช เชซเชพเชณเชตเซเชฒ เชจ เชนเซเชฏ เชคเซเชตเชพ เชตเชฟเชธเซเชคเชพเชฐเชฎเชพเช 64k เชเชฐเชคเชพเช เชเชเซเช เชฒเชเซเชฒเซเช เชเซเชเชชเชฃ เชเซเชถเชฎเชพเช 64K เชงเชพเชฐ-เชธเชเชฐเซเชเชฟเชค เชฅเช เชเชถเซ. เช เชเซเชถเซเชก เชเชชเชเชฐเชฃเชจเซ เชฌเชพเชฏเชชเชพเชธ เชเชฐเซเชจเซ, เชธเชเชชเซเชฐเซเชฃ เชฐเซเชคเซ เชเซเชถ เชฆเซเชตเชพเชฐเชพ เชเชชเชฐเซเชถเชจ เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเชถเซ.
เชเชพเชฒเซ LVs เชจเซ เช เชจเซเชฐเซเชช PVs เชชเชฐ เชเชธเซเชกเซเช:
#pvmove -n images/thin-pool_tdata /dev/root/images /dev/cache/cachedata
#pvmove -n images/lvol0_pmspare /dev/cache/cachedata /dev/root/images
#pvmove -n images/thin-pool_tmeta /dev/cache/cachedata /dev/root/images
เชเชพเชฒเซ เชคเชชเชพเชธเซเช:
#lvs -a -o lv_name,lv_size,devices --units B images
LV LSize Devices
[lvol0_pmspare] 4294967296B /dev/root/images(0)
thin-pool 274877906944B thin-pool_tdata(0)
[thin-pool_tdata] 274877906944B /dev/cache/cachedata(0)
[thin-pool_tmeta] 4294967296B /dev/root/images(1024)
เชเชพเชฒเซ เชชเชฐเซเชเซเชทเชฃเซ เชฎเชพเชเซ เชชเชพเชคเชณเซเช เชตเซเชฒเซเชฏเซเชฎ เชฌเชจเชพเชตเซเช:
#lvcreate -V 64G --thin-pool thin-pool --name test images
เช เชฎเซ เชชเชฐเซเชเซเชทเชฃเซ เช เชจเซ เชฆเซเชเชฐเซเช เชฎเชพเชเซ เชชเซเชเซเชเซ เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเชถเซเช:
#apt-get install sysstat fio
เช เชฐเซเชคเซ เชคเชฎเซ เชฐเซเช เชฒ เชเชพเชเชฎเชฎเชพเช เช เชฎเชพเชฐเชพ เชธเซเชเซเชฐเซเช เชเชจเซเชซเชฟเชเชฐเซเชถเชจเชจเซ เชตเชฐเซเชคเชฃเซเชเชจเซเช เช เชตเชฒเซเชเชจ เชเชฐเซ เชถเชเซ เชเซ:
#watch 'lvs --rows --reportformat basic --quiet -ocache_dirty_blocks,cache_settings cache/cachedata && (lvdisplay cache/cachedata | grep Cache) && (sar -p -d 2 1 | grep -E "sd|nvme|DEV|md1|md2|md3|md0" | grep -v Average | sort)'
เช เชฐเซเชคเซ เช เชฎเซ เช เชฎเชพเชฐเซ เชเซเช เชตเชฃเซเชจเซเช เชชเชฐเซเชเซเชทเชฃ เชเชฐเซ เชถเชเซเช เชเซเช:
#fio --loops=1 --size=64G --runtime=4 --filename=/dev/images/test --stonewall --ioengine=libaio --direct=1
--name=4kQD32read --bs=4k --iodepth=32 --rw=randread
--name=8kQD32read --bs=8k --iodepth=32 --rw=randread
--name=16kQD32read --bs=16k --iodepth=32 --rw=randread
--name=32KQD32read --bs=32k --iodepth=32 --rw=randread
--name=64KQD32read --bs=64k --iodepth=32 --rw=randread
--name=128KQD32read --bs=128k --iodepth=32 --rw=randread
--name=256KQD32read --bs=256k --iodepth=32 --rw=randread
--name=512KQD32read --bs=512k --iodepth=32 --rw=randread
--name=4Kread --bs=4k --rw=read
--name=8Kread --bs=8k --rw=read
--name=16Kread --bs=16k --rw=read
--name=32Kread --bs=32k --rw=read
--name=64Kread --bs=64k --rw=read
--name=128Kread --bs=128k --rw=read
--name=256Kread --bs=256k --rw=read
--name=512Kread --bs=512k --rw=read
--name=Seqread --bs=1m --rw=read
--name=Longread --bs=8m --rw=read
--name=Longwrite --bs=8m --rw=write
--name=Seqwrite --bs=1m --rw=write
--name=512Kwrite --bs=512k --rw=write
--name=256write --bs=256k --rw=write
--name=128write --bs=128k --rw=write
--name=64write --bs=64k --rw=write
--name=32write --bs=32k --rw=write
--name=16write --bs=16k --rw=write
--name=8write --bs=8k --rw=write
--name=4write --bs=4k --rw=write
--name=512KQD32write --bs=512k --iodepth=32 --rw=randwrite
--name=256KQD32write --bs=256k --iodepth=32 --rw=randwrite
--name=128KQD32write --bs=128k --iodepth=32 --rw=randwrite
--name=64KQD32write --bs=64k --iodepth=32 --rw=randwrite
--name=32KQD32write --bs=32k --iodepth=32 --rw=randwrite
--name=16KQD32write --bs=16k --iodepth=32 --rw=randwrite
--name=8KQD32write --bs=8k --iodepth=32 --rw=randwrite
--name=4kQD32write --bs=4k --iodepth=32 --rw=randwrite
| grep -E 'read|write|test' | grep -v ioengine
เชเชพเชณเชเซเชชเซเชฐเซเชตเช! เชธเชเชธเชพเชงเชจ!เช เชเซเชก 36 เชตเชฟเชตเชฟเชง เชชเชฐเซเชเซเชทเชฃเซ เชเชฒเชพเชตเชถเซ, เชฆเชฐเซเช 4 เชธเซเชเชจเซเชก เชฎเชพเชเซ เชเชพเชฒเชถเซ. เช
เชกเชงเชพ เชเซเชธเซเช เชฐเซเชเซเชฐเซเชกเชฟเชเช เชฎเชพเชเซ เชเซ. เชคเชฎเซ NVMe เชชเชฐ 4 เชธเซเชเชจเซเชกเชฎเชพเช เชเชฃเซเช เชฌเชงเซเช เชฐเซเชเซเชฐเซเชก เชเชฐเซ เชถเชเซ เชเซ. เชชเซเชฐเชคเชฟ เชธเซเชเชจเซเชก 3 เชเซเชเชพเชฌเชพเชเชเซเชธ เชธเซเชงเซ. เชคเซเชฅเซ, เชฒเซเชเชจ เชชเชฐเซเชเซเชทเชฃเซเชจเซ เชฆเชฐเซเช เชฐเชจ เชคเชฎเชพเชฐเซ เชชเชพเชธเซเชฅเซ 216 เชเซเชเชพเชฌเชพเชเชเซเชธ SSD เชธเชเชธเชพเชงเชจ เชเชพเช เชถเชเซ เชเซ.
เชตเชพเชเชเชจ เช เชจเซ เชฒเซเชเชจ เชฎเชฟเชถเซเชฐ?เชนเชพ. เชตเชพเชเชเชตเชพ เช เชจเซ เชฒเชเชตเชพเชจเซ เชเชธเซเชเซเช เช เชฒเชเชฅเซ เชเชฒเชพเชตเชตเชพเชจเซ เช เชฐเซเชฅ เชเซ. เชคเชฆเซเชชเชฐเชพเชเชค, เชคเซ เชธเซเชจเชฟเชถเซเชเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเซ เช เชฐเซเชฅเชชเซเชฐเซเชฃ เชเซ เชเซ เชคเชฎเชพเชฎ เชเซเชถ เชธเชฎเชจเซเชตเชฏเชฟเชค เชเซ เชเซเชฅเซ เช เชเชพเช เชฌเชจเชพเชตเซเชฒ เชฒเชเชพเชฃ เชตเชพเชเชเชตเชพเชจเซ เช เชธเชฐ เชจ เชเชฐเซ.
เชเซเชถ เช เชจเซ เชชเชพเชคเชณเซเช เชตเซเชฒเซเชฏเซเชฎ เชญเชฐเชพเช เชเชคเชพเช เชชเซเชฐเชฅเชฎ เชฒเซเชเช เชฆเชฐเชฎเชฟเชฏเชพเชจ เช เชจเซ เชคเซเชฏเชพเชฐเชชเชเซเชจเชพ เชชเชฐเชฟเชฃเชพเชฎเซ เชฎเซเชเชพ เชชเซเชฐเชฎเชพเชฃเชฎเชพเช เชฌเชฆเชฒเชพเชถเซ, เช เชจเซ เชคเซ เชชเชฃ เชคเซเชจเชพ เชชเชฐ เชเชงเชพเชฐ เชฐเชพเชเซ เชเซ เชเซ เชธเชฟเชธเซเชเชฎ เชเซเชฒเซเชฒเชพ เชฒเซเชเช เชฆเชฐเชฎเชฟเชฏเชพเชจ เชญเชฐเซเชฒเซ เชเซเชถเชจเซ เชธเชฟเชเชเซเชฐเชจเชพเชเช เชเชฐเชตเชพเชฎเชพเช เชธเชซเชณ เชฐเชนเซ เชเซ เชเซ เชเซเชฎ.
เช เชจเซเชฏ เชตเชธเซเชคเซเชเชฎเชพเช, เชนเซเช เชชเชนเซเชฒเซเชฅเซ เช เชธเชเชชเซเชฐเซเชฃ เชชเชพเชคเชณเชพ เชตเซเชฒเซเชฏเซเชฎ เชชเชฐ เชเชกเชชเชจเซ เชฎเชพเชชเชตเชพเชจเซ เชญเชฒเชพเชฎเชฃ เชเชฐเซเช เชเซเช เชเซเชฎเชพเชเชฅเซ เชธเซเชจเซเชชเชถเซเช เชนเชฎเชฃเชพเช เช เชฒเซเชตเชพเชฎเชพเช เชเชตเซเชฏเซ เชนเชคเซ. เชฒเซเชเชเชจเซ เชชเซเชฐเชฅเชฎ เชธเซเชจเซเชชเชถเซเช เชฌเชจเชพเชตเซเชฏเชพ เชชเชเซ เชคเชฐเชค เช เชเซเชตเซ เชฐเซเชคเซ เชฐเซเชจเซเชกเชฎ เชฒเชเชพเชฃเซ เชเชกเชชเชฅเซ เชตเซเช เชเชชเซ เชเซ เชคเซ เช เชตเชฒเซเชเชจ เชเชฐเชตเชพเชจเซ เชคเช เชฎเชณเซ, เชเชพเชธ เชเชฐเซเชจเซ เชเซเชฏเชพเชฐเซ เชเซเชถ เชนเชเซ เชธเชเชชเซเชฐเซเชฃ เชฐเซเชคเซ เชญเชฐเชพเชฏเซเชฒ เชจเชฅเซ. เช เชเซเชชเซ-เชเชจ-เชฐเชพเชเช เชฐเชพเชเช เชธเชฟเชฎเซเชจเซเชเชฟเชเซเชธ, เชเซเชถเชจเซ เชเซเช เชตเชฃเซ เช เชจเซ เชชเชพเชคเชณเชพ เชตเซเชฒเซเชฏเซเชฎ เชฌเซเชฒเซเชเซเชธเชจเซ เชเชพเชฐเชฃเซ เชฅเชพเชฏ เชเซ เช เชจเซ เชนเชเซเชเชค เช เชเซ เชเซ RAID 6 เชชเชฐ เชฐเซเชจเซเชกเชฎ เชฒเชเชตเซเช เช RAID 6 เชฎเชพเชเชฅเซ เชฐเซเชจเซเชกเชฎ เชฐเซเชกเชฎเชพเช เชซเซเชฐเชตเชพเชฏ เชเซ เช เชจเซ เชคเซเชฏเชพเชฐเชฌเชพเชฆ เชเซเชถเชฎเชพเช เชฒเชเชตเชพเชจเซเช เชเซ. เช เชฎเชพเชฐเชพ เชฐเซเชชเชฐเซเชเชพเชเชเชจเชฎเชพเช, RAID 6 เชฅเซ เชฐเซเชจเซเชกเชฎ เชฐเซเชกเชฟเชเช 6 เชเชฃเซเช (เชเชฐเซเชฎเชพเช SATA SSD เชจเซ เชธเชเชเซเชฏเชพ) เชฒเชเชตเชพ เชเชฐเชคเชพเช เชตเชงเซ เชเชกเชชเซ เชเซ. เชเชพเชฐเชฃ เชเซ CoW เชฎเชพเชเซ เชฌเซเชฒเซเชเซเชธ เชชเชพเชคเชณเชพ เชชเซเชฒเชฎเชพเชเชฅเซ เชเซเชฐเชฎเชฟเช เชฐเซเชคเซ เชซเชพเชณเชตเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชชเชเซ เชฐเซเชเซเชฐเซเชกเชฟเชเช, เชฎเซเชเชพเชญเชพเชเซ, เชชเชฃ เชเซเชฐเชฎเชฟเชเชฎเชพเช เชซเซเชฐเชตเชพเชฏ เชเซ.
เช เชฌเชเชจเซ เชธเซเชตเชฟเชงเชพเชเชจเซ เชคเชฎเชพเชฐเชพ เชซเชพเชฏเชฆเชพ เชฎเชพเชเซ เชเชชเชฏเซเช เชเชฐเซ เชถเชเชพเชฏ เชเซ.
เชเซเชถ "เชธเซเชธเชเชเชค" เชธเซเชจเซเชชเชถเซเช
เชเซเชถ เชจเซเชเชธเชพเชจ/เชจเซเชเชธเชพเชจเชจเชพ เชเชฟเชธเซเชธเชพเชฎเชพเช เชกเซเชเชพเชจเชพ เชจเซเชเชธเชพเชจเชจเชพ เชเซเชเชฎเชจเซ เชเชเชพเชกเชตเชพ เชฎเชพเชเซ, เชฒเซเชเช เช เชเชฟเชธเซเชธเชพเชฎเชพเช เชคเซเชฎเชจเซ เช เชเชเชกเชฟเชคเชคเชพเชจเซ เชเชพเชคเชฐเซ เชเชชเชตเชพ เชฎเชพเชเซ เชธเซเชจเซเชชเชถเซเชเชจเซ เชซเซเชฐเชตเชตเชพเชจเซ เชชเซเชฐเชฅเชพ เชฆเชพเชเชฒ เชเชฐเชตเชพเชจเซ เชฆเชฐเชเชพเชธเซเชค เชเชฐเซ เชเซ.
เชชเซเชฐเชฅเชฎ, เชเชพเชฐเชฃ เชเซ เชชเชพเชคเชณเชพ เชตเซเชฒเซเชฏเซเชฎ เชฎเซเชเชพเชกเซเชเชพ เช เชจเชเซเชถเซเชก เชเชชเชเชฐเชฃ เชชเชฐ เชฐเชนเซ เชเซ, เชฎเซเชเชพเชกเซเชเชพ เชธเซเชธเชเชเชค เชฐเชนเซเชถเซ เช เชจเซ เชธเชเชญเชตเชฟเชค เชจเซเชเชธเชพเชจเชจเซ เชกเซเชเชพ เชฌเซเชฒเซเชเซเชธเชฎเชพเช เช เชฒเช เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ.
เชจเซเชเซ เชเชชเซเชฒ เชธเซเชจเซเชชเชถเซเช เชฐเซเชเซเชถเชจ เชธเชพเชฏเชเชฒ เชเซเชถ เชจเซเชเชถเชพเชจเชจเชพ เชเชฟเชธเซเชธเชพเชฎเชพเช เชธเซเชจเซเชชเชถเซเชเชจเซ เช เชเชฆเชฐเชจเชพ เชกเซเชเชพเชจเซ เช เชเชเชกเชฟเชคเชคเชพเชจเซ เชเชพเชคเชฐเซ เชเชชเซ เชเซ:
- <name> เชจเชพเชฎ เชธเชพเชฅเซ เชฆเชฐเซเช เชชเชพเชคเชณเชพ เชตเซเชฒเซเชฏเซเชฎ เชฎเชพเชเซ, <name>.cached เชจเชพเชฎ เชธเชพเชฅเซ เชธเซเชจเซเชชเชถเซเช เชฌเชจเชพเชตเซ
- เชเชพเชฒเซ เชธเซเชฅเชณเชพเชเชคเชฐ เชฅเซเชฐเซเชถเซเชฒเซเชกเชจเซ เชตเชพเชเชฌเซ เชเชเซเช เชฎเซเชฒเซเชฏ เชชเชฐ เชธเซเช เชเชฐเซเช:
#lvchange --quiet --cachesettings "migration_threshold=16384" cache/cachedata
- เชฒเซเชชเชฎเชพเช เชเชชเชฃเซ เชเซเชถเชฎเชพเช เชเชเชฆเชพ เชฌเซเชฒเซเชเซเชธเชจเซ เชธเชเชเซเชฏเชพ เชคเชชเชพเชธเซเช เชเซเช:
#lvs --rows --reportformat basic --quiet -ocache_dirty_blocks cache/cachedata | awk '{print $2}'
เชเซเชฏเชพเช เชธเซเชงเซ เชเชชเชฃเซ เชถเซเชจเซเชฏ เชจ เชฎเซเชณเชตเซเช. เชเซ เชถเซเชจเซเชฏ เชเซเชฌ เชฒเชพเชเชฌเชพ เชธเชฎเชฏ เชธเซเชงเซ เชเซเชเซ เชเซ, เชคเซ เชคเซ เช เชธเซเชฅเชพเชฏเซ เชฐเซเชชเซ เชเซเชถเชจเซ เชฐเชพเชเชเชฅเซเชฐเซ เชฎเซเชก เชชเชฐ เชธเซเชตเชฟเช เชเชฐเซเชจเซ เชฌเชจเชพเชตเซ เชถเชเชพเชฏ เชเซ. เชเซ เชเซ, เช เชฎเชพเชฐเชพ SATA เช เชจเซ NVMe SSD เชเชฐเซเชจเซ เชเชคเชฟ เชตเชฟเชถเซเชทเชคเชพเช เชคเซเชฎเช เชคเซเชฎเชจเชพ TBW เชธเชเชธเชพเชงเชจเชจเซ เชงเซเชฏเชพเชจเชฎเชพเช เชฒเซเชคเชพ, เชคเชฎเซ เชเซเชถ เชฎเซเชกเชจเซ เชฌเชฆเชฒเซเชฏเชพ เชตเชฟเชจเชพ เชเซเชทเชฃเชจเซ เชเชกเชชเชฅเซ เชชเชเชกเซ เชถเชเชถเซ เช เชฅเชตเชพ เชคเชฎเชพเชฐเซเช เชนเชพเชฐเซเชกเชตเซเชฐ เชคเซเชจเชพ เชธเชฎเชเซเชฐ เชธเชเชธเชพเชงเชจเชจเซ เชธเชเชชเซเชฐเซเชฃเชชเชฃเซ เชเชพเช เชเชถเซ. เชฅเซเชกเชพ เชฆเชฟเชตเชธ. เชธเชเชธเชพเชงเชจเชจเซ เชฎเชฐเซเชฏเชพเชฆเชพเชเชจเซ เชฒเซเชงเซ, เชธเชฟเชธเซเชเชฎ, เชธเซเชฆเซเชงเชพเชเชคเชฟเช เชฐเซเชคเซ, เชฆเชฐเซเช เชธเชฎเชฏเซ 100% เชฒเซเชเชจ เชฒเซเชก เชนเซเช เชณ เชฐเชนเซเชตเชพ เชฎเชพเชเซ เช เชธเชฎเชฐเซเชฅ เชเซ. เช เชฎเชพเชฐเชพ NVMe SSDs 100% เชฒเซเชเชจ เชฒเซเชก เชนเซเช เชณเชจเชพ เชธเชเชธเชพเชงเชจเชจเซ เชธเชเชชเซเชฐเซเชฃเชชเชฃเซ เชเชฒเชพเชธ เชเชฐเชถเซ 3-4 เชฆเชฟเชตเชธ. SATA SSDs เชฎเชพเชคเซเชฐ เชฌเชฎเชฃเชพ เชฒเชพเชเชฌเชพ เชธเชฎเชฏ เชธเซเชงเซ เชเชพเชฒเชถเซ. เชคเซเชฅเซ, เช เชฎเซ เชงเชพเชฐเซเชถเซเช เชเซ เชฎเซเชเชพเชญเชพเชเชจเซ เชญเชพเชฐ เชตเชพเชเชเชจ เชชเชฐ เชเชพเชฏ เชเซ, เช เชจเซ เช เชฎเชพเชฐเซ เชชเชพเชธเซ เชฒเซเชเชจ เชฎเชพเชเซ เชธเชฐเซเชฐเชพเชถ เชเชเชพ เชญเชพเชฐ เชธเชพเชฅเซ เชธเชเชฏเซเชเซเชค เช เชคเซเชฏเชเชค เชเชเซเช เชชเซเชฐเชตเซเชคเซเชคเชฟเชจเชพ เชชเซเชฐเชฎเชพเชฃเชฎเชพเช เชเซเชเชเชพ เชเชพเชณเชพเชจเชพ เชตเชฟเชธเซเชซเซเชเซ เชเซ. - เชเชฒเชฆเซ เชเชชเชฃเซ เชถเซเชจเซเชฏ เชชเชเชกเซเชฏเซเช (เช เชฅเชตเชพ เชฌเชจเชพเชตเซเชฏเซเช), เช เชฎเซ <name>.cached เชจเซ <name>.committed เชจเชพเชฎ เชเชชเซเช เชเซเช. เชเซเชจเซเช <name>.committed เชเชพเชขเซ เชจเชพเชเชตเชพเชฎเชพเช เชเชตเซเชฏเซเช เชเซ.
- เชตเซเชเชฒเซเชชเชฟเช เชฐเซเชคเซ, เชเซ เชเซเชถ 100% เชญเชฐเซเชฒเซ เชนเซเชฏ, เชคเซ เชคเซเชจเซ เชธเซเชเซเชฐเชฟเชชเซเช เชฆเซเชตเชพเชฐเชพ เชซเชฐเซเชฅเซ เชฌเชจเชพเชตเซ เชถเชเชพเชฏ เชเซ, เชเชฎ เชคเซเชจเซ เชธเชพเชซ เชเชฐเซ เชถเชเชพเชฏ เชเซ. เช เชฐเซเชง-เชเชพเชฒเซ เชเซเชถ เชธเชพเชฅเซ, เชฒเชเชคเซ เชตเชเชคเซ เชธเชฟเชธเซเชเชฎ เชตเชงเซ เชเชกเชชเชฅเซ เชเชพเชฎ เชเชฐเซ เชเซ.
- เชธเซเชฅเชณเชพเชเชคเชฐ เชฅเซเชฐเซเชถเซเชฒเซเชก เชถเซเชจเซเชฏ เชชเชฐ เชธเซเช เชเชฐเซ:
#lvchange --quiet --cachesettings "migration_threshold=0" cache/cachedata
เช เชเซเชถเชจเซ เชฎเซเชเซเชฏ เชฎเซเชกเชฟเชฏเชพ เชธเชพเชฅเซ เชธเชฎเชจเซเชตเชฏเชฟเชค เชฅเชตเชพเชฅเซ เช เชธเซเชฅเชพเชฏเซ เชฐเซเชชเซ เช เชเชเชพเชตเชถเซ. - เชเซเชถเชฎเชพเช เชเชฃเชพ เชฌเชงเชพ เชซเซเชฐเชซเชพเชฐเซ เชเชเช เชพ เชฅเชพเชฏ เชคเซเชฏเชพเช เชธเซเชงเซ เช
เชฎเซ เชฐเชพเชน เชเซเช
#lvs --rows --reportformat basic --quiet -ocache_dirty_blocks cache/cachedata | awk '{print $2}'
เช เชฅเชตเชพ เชเชพเชเชฎเชฐ เชฌเชเชง เชฅเช เชเชถเซ. - เช เชฎเซ เชซเชฐเซเชฅเซ เชชเซเชจเชฐเชพเชตเชฐเซเชคเชจ เชเชฐเซเช เชเซเช.
เชธเซเชฅเชณเชพเชเชคเชฐ เชฅเซเชฐเซเชถเซเชฒเซเชกเชฎเชพเช เชฎเซเชถเซเชเซเชฒเซเช เชถเชพ เชฎเชพเชเซ...?เช เชฌเชพเชฌเชค เช เชเซ เชเซ เชตเชพเชธเซเชคเชตเชฟเช เชตเซเชฏเชตเชนเชพเชฐเชฎเชพเช, "เชฐเซเชจเซเชกเชฎ" เชฐเซเชเซเชฐเซเชกเชฟเชเช เชตเชพเชธเซเชคเชตเชฎเชพเช เชธเชเชชเซเชฐเซเชฃเชชเชฃเซ เชฐเซเชจเซเชกเชฎ เชจเชฅเซ. เชเซ เชเชชเชฃเซ 4 เชเชฟเชฒเซเชฌเชพเชเชเชจเชพ เชเชฆเชจเชพ เชธเซเชเซเชเชฐเชฎเชพเช เชเชเชเช เชฒเชเซเชฏเซเช เชนเซเชฏ, เชคเซ เชเชตเซ เชเชเซเช เชธเชเชญเชพเชตเชจเชพ เชเซ เชเซ เชเชเชพเชฎเซ เชฌเซ เชฎเชฟเชจเชฟเชเชฎเชพเช เชคเซ เช เช เชฅเชตเชพ เชชเชกเซเชถเซ (+- 32K) เชธเซเชเซเชเชฐเชฎเชพเชเชจเชพ เชเชเชฎเชพเช เชฐเซเชเซเชฐเซเชก เชฌเชจเชพเชตเชตเชพเชฎเชพเช เชเชตเชถเซ.
เชธเซเชฅเชณเชพเชเชคเชฐ เชฅเซเชฐเซเชถเซเชฒเซเชกเชจเซ เชถเซเชจเซเชฏ เชชเชฐ เชธเซเช เชเชฐเซเชจเซ, เช เชฎเซ SATA SSD เชชเชฐ เชฐเชพเชเช เชธเชฟเชเชเซเชฐเซเชจเชพเชเชเซเชถเชจเชจเซ เชฎเซเชฒเชคเชตเซ เชฐเชพเชเซเช เชเซเช เช เชจเซ เชเซเชถเชฎเชพเช เชเช 64K เชฌเซเชฒเซเชเชฎเชพเช เชเชฃเชพ เชซเซเชฐเชซเชพเชฐเซเชจเซ เชเชเซเชเซเชค เชเชฐเซเช เชเซเช. เช SATA SSD เชจเชพ เชธเชเชธเชพเชงเชจเชจเซ เชจเซเชเชงเชชเชพเชคเซเชฐ เชฐเซเชคเซ เชฌเชเชพเชตเซ เชเซ.
เชเซเชก เชเซเชฏเชพเช เชเซ..?เชเชฎเชจเชธเซเชฌเซ, เชฒเซเชเช เชชเซเชคเชพเชจเซ เชฌเซเชถ เชธเซเชเซเชฐเชฟเชชเซเชเชจเชพ เชตเชฟเชเชพเชธเชฎเชพเช เช เชชเซเชฐเชคเซ เชฐเซเชคเซ เชธเชเซเชทเชฎ เชฎเชพเชจเซ เชเซ เชเชพเชฐเชฃ เชเซ เชคเซ 100% เชธเซเชต-เชถเชฟเชเซเชทเชฟเชค เชเซ เช เชจเซ "เชเซเชเชฒ"-เชธเชเชเชพเชฒเชฟเชค เชตเชฟเชเชพเชธเชจเซ เช เชญเซเชฏเชพเชธ เชเชฐเซ เชเซ, เชคเซเชฅเซ เชคเซ เชฎเชพเชจเซ เชเซ เชเซ เชคเซเชจเชพ เชนเชพเชฅเชฎเชพเชเชฅเซ เชเซ เชญเชฏเชเชเชฐ เชเซเชก เชจเซเชเชณเซ เชเซ เชคเซเชจเซ เชเชชเชฏเซเช เชเซเชเช เชเชฐเชตเซ เชเซเชเช เชจเชนเซเช. เชฌเซเชเซเช
เชฎเชจเซ เชฒเชพเชเซ เชเซ เชเซ เช เชเซเชทเซเชคเซเชฐเชจเชพ เชตเซเชฏเชพเชตเชธเชพเชฏเชฟเชเซ เชเซ เชเชฐเซเชฐเซ เชนเซเชฏ เชคเซ, เชเชชเชฐ เชตเชฐเซเชฃเชตเซเชฒ เชคเชฎเชพเชฎ เชคเชฐเซเชเชจเซ เชธเซเชตเชคเชเชคเซเชฐ เชฐเซเชคเซ เชฆเชฐเซเชถเชพเชตเชตเชพเชฎเชพเช เชธเชเซเชทเชฎ เชนเชถเซ, เช เชจเซ, เชเชฆเชพเช, เชฒเซเชเชเซ เชเชฐเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซเชฏเซ เชคเซเชฎ, เชคเซเชจเซ เชธเชฟเชธเซเชเชฎเชก เชธเซเชตเชพ เชคเชฐเซเชเซ เชธเซเชเชฆเชฐ เชฐเซเชคเซ เชกเชฟเชเชพเชเชจ เชชเชฃ เชเชฐเซ เชถเชเชถเซ.
เชเชตเซ เชธเชฐเชณ เชธเซเชจเซเชชเชถเซเช เชฐเซเชเซเชถเชจ เชธเซเชเซเชฎ เช เชฎเชจเซ เชฎเชพเชคเซเชฐ เชเช เช เชธเซเชจเซเชชเชถเซเชเชจเซ SATA SSD เชชเชฐ เชธเชเชชเซเชฐเซเชฃ เชฐเซเชคเซ เชธเชฎเชจเซเชตเชฏเชฟเชค เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเชถเซ เชจเชนเซเช, เชชเชฐเชเชคเซ เช เชฎเชจเซ thin_delta เชเชชเชฏเซเชเชฟเชคเชพเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชคเซ เชถเซเชงเชตเชพเชจเซ เชชเชฃ เชฎเชเชเซเชฐเซ เชเชชเชถเซ เชเซ เชคเซเชจเชพ เชฌเชจเชพเชตเซเชฏเชพ เชชเชเซ เชเชฏเชพ เชฌเซเชฒเซเชเซเชธ เชฌเชฆเชฒเชพเชฏเชพ เชเซ เช เชจเซ เชเชฎ เชจเซเชเชธเชพเชจเชจเซ เชธเซเชฅเชพเชจเชฟเชเซเชเชฐเชฃ เชเชฐเซ เชถเชเชถเซ. เชฎเซเชเซเชฏ เชตเซเชฒเซเชฏเซเชฎเซ, เชชเซเชจเชเชชเซเชฐเชพเชชเซเชคเชฟเชจเซ เชฎเซเชเชพ เชชเซเชฐเชฎเชพเชฃเชฎเชพเช เชธเชฐเชณ เชฌเชจเชพเชตเซ เชเซ.
libvirt/KVM เชฎเชพเช TRIM/DISCARD
เชเชพเชฐเชฃ เชเซ เชกเซเชเชพ เชธเซเชเซเชฐเซเชเชจเซ เชเชชเชฏเซเช KVM เชเชฒเชพเชตเชคเชพ libvirt เชฎเชพเชเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ, เชคเซ เชชเชเซ เช เชฎเชพเชฐเชพ VM เชจเซ เชฎเชพเชคเซเชฐ เชเชพเชฒเซ เชเชเซเชฏเชพ เชฒเซเชตเชพ เชฎเชพเชเซ เช เชจเชนเชฟ, เชชเชฃ เชเซ เชนเชตเซ เชเชฐเซเชฐเซ เชจเชฅเซ เชคเซเชจเซ เชเชพเชฒเซ เชเชฐเชตเชพ เชฎเชพเชเซ เชถเซเชเชตเชตเซเช เช เชธเชพเชฐเซ เชตเชฟเชเชพเชฐ เชเซ.
เช เชตเชฐเซเชเซเชฏเซเช เชฒ เชกเชฟเชธเซเช เชชเชฐ TRIM/DISCARD เชธเชชเซเชฐเซเชเชจเซเช เช เชจเซเชเชฐเชฃ เชเชฐเซเชจเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เช เชเชฐเชตเชพ เชฎเชพเชเซ, เชคเชฎเชพเชฐเซ เชเชเชเซเชฐเซเชฒเชฐเชจเชพ เชชเซเชฐเชเชพเชฐเชจเซ virtio-scsi เชฎเชพเช เชฌเชฆเชฒเชตเชพเชจเซ เช เชจเซ xml เชจเซ เชธเชเชชเชพเชฆเชฟเชค เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ.
#virsh edit vmname
<disk type='block' device='disk'>
<driver name='qemu' type='raw' cache='writethrough' io='threads' discard='unmap'/>
<source dev='/dev/images/vmname'/>
<backingStore/>
<target dev='sda' bus='scsi'/>
<alias name='scsi0-0-0-0'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>
<controller type='scsi' index='0' model='virtio-scsi'>
<alias name='scsi0'/>
<address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
</controller>
เชฎเชนเซเชฎเชพเชจ OS เชฎเชพเชเชฅเซ เชเชตเชพ DISCARDs เช LVM เชฆเซเชตเชพเชฐเชพ เชฏเซเชเซเชฏ เชฐเซเชคเซ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เช
เชจเซ เชฌเซเชฒเซเชเซเชธ เชเซเชถ เช
เชจเซ เชชเชพเชคเชณเชพ เชชเซเชฒเชฎเชพเช เชฏเซเชเซเชฏ เชฐเซเชคเซ เชฎเซเชเซเชค เชฅเชพเชฏ เชเซ. เช
เชฎเชพเชฐเชพ เชเชฟเชธเซเชธเชพเชฎเชพเช, เชเชเชฒเชพ เชธเซเชจเซเชชเชถเซเชเชจเซ เชเชพเชขเซ เชจเชพเชเชคเซ เชตเชเชคเซ, เช เชฎเซเชเซเชฏเชคเซเชตเซ เชตเชฟเชฒเชเชฌเชฟเชค เชฐเซเชคเซ เชฅเชพเชฏ เชเซ.
BTRFS เชฌเซเชเช เชช
เชธเชพเชฅเซ เชคเซเชฏเชพเชฐ เชธเซเชเซเชฐเชฟเชชเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชเชคเซเชฏเชเชคเชฟเช เชธเชพเชตเชงเชพเชจเซ เช เชจเซ เชชเซเชคเชพเชจเชพ เชเซเชเชฎเซ. เชฒเซเชเชเซ เช เชเซเชก เชชเซเชคเซ เช เชจเซ เชซเชเซเชค เชชเซเชคเชพเชจเชพ เชฎเชพเชเซ เช เชฒเชเซเชฏเซ เชเซ. เชฎเชจเซ เชเชพเชคเชฐเซ เชเซ เชเซ เชเชฃเชพ เช เชจเซเชญเชตเซ Linux เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพเช เชชเชพเชธเซ เชธเชฎเชพเชจ เชธเชพเชงเชจเซ เชเซ, เช เชจเซ เชเซเช เชฌเซเชเชพเชจเซ เชจเชเชฒ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชจเชฅเซ.
เชเชพเชฒเซ เชฌเซเชเช เชช เชเชชเชเชฐเชฃ เชชเชฐ เชตเซเชฒเซเชฏเซเชฎ เชฌเชจเชพเชตเซเช:
#lvcreate -L 256G --name backup backup
เชเชพเชฒเซ เชคเซเชจเซ BTRFS เชฎเชพเช เชซเซเชฐเซเชฎเซเช เชเชฐเซเช:
#mkfs.btrfs /dev/backup/backup
เชเชพเชฒเซ เชฎเชพเชเชจเซเช เชชเซเชเชจเซเช เชฌเชจเชพเชตเซเช เช เชจเซ เชซเชพเชเชฒ เชธเชฟเชธเซเชเชฎเชจเชพ เชฐเซเช เชชเซเชเชพเชตเชฟเชญเชพเชเซเชจเซ เชฎเชพเชเชจเซเช เชเชฐเซเช:
#mkdir /backup
#mkdir /backup/btrfs
#mkdir /backup/btrfs/root
#mkdir /backup/btrfs/back
#ln -s /boot /backup/btrfs
# cat >>/etc/fstab << EOF
/dev/mapper/root-root /backup/btrfs/root btrfs defaults,space_cache,noatime,nodiratime 0 2
/dev/mapper/backup-backup /backup/btrfs/back btrfs defaults,space_cache,noatime,nodiratime 0 2
EOF
#mount -a
#update-initramfs -u
#update-grub
เชเชพเชฒเซ เชฌเซเชเช
เชช เชฎเชพเชเซ เชกเชฟเชฐเซเชเซเชเชฐเซเช เชฌเชจเชพเชตเซเช:
#mkdir /backup/btrfs/back/remote
#mkdir /backup/btrfs/back/remote/root
#mkdir /backup/btrfs/back/remote/boot
เชเชพเชฒเซ เชฌเซเชเช
เชช เชธเซเชเซเชฐเชฟเชชเซเชเซเชธ เชฎเชพเชเซ เชกเชฟเชฐเซเชเซเชเชฐเซ เชฌเชจเชพเชตเซเช:
#mkdir /root/btrfs-backup
เชเชพเชฒเซ เชธเซเชเซเชฐเชฟเชชเซเชเชจเซ เชจเชเชฒ เชเชฐเซเช:
เชเชฃเชพ เชฌเชงเชพ เชกเชฐเชพเชฎเชฃเชพ เชฌเซเชถ เชเซเชก. เชคเชฎเชพเชฐเชพ เชชเซเชคเชพเชจเชพ เชเซเชเชฎเซ เชเชชเชฏเซเช เชเชฐเซ. เชฒเซเชเชเชจเซ เชเซเชธเซเชธเซ เชชเชคเซเชฐเซ เชจ เชฒเชเซ...#cat >/root/btrfs-backup/btrfs-backup.sh << EOF
#!/bin/bash
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
SCRIPT_FILE="$(realpath $0)"
SCRIPT_DIR="$(dirname $SCRIPT_FILE)"
SCRIPT_NAME="$(basename -s .sh $SCRIPT_FILE)"
LOCK_FILE="/dev/shm/$SCRIPT_NAME.lock"
DATE_PREFIX='%Y-%m-%d'
DATE_FORMAT=$DATE_PREFIX'-%H-%M-%S'
DATE_REGEX='[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]-[0-9][0-9]-[0-9][0-9]-[0-9][0-9]'
BASE_SUFFIX=".@base"
PEND_SUFFIX=".@pend"
SNAP_SUFFIX=".@snap"
MOUNTS="/backup/btrfs/"
BACKUPS="/backup/btrfs/back/remote/"
function terminate ()
{
echo "$1" >&2
exit 1
}
function wait_lock()
{
flock 98
}
function wait_lock_or_terminate()
{
echo "Wating for lock..."
wait_lock || terminate "Failed to get lock. Exiting..."
echo "Got lock..."
}
function suffix()
{
FORMATTED_DATE=$(date +"$DATE_FORMAT")
echo "$SNAP_SUFFIX.$FORMATTED_DATE"
}
function filter()
{
FORMATTED_DATE=$(date --date="$1" +"$DATE_PREFIX")
echo "$SNAP_SUFFIX.$FORMATTED_DATE"
}
function backup()
{
SOURCE_PATH="$MOUNTS$1"
TARGET_PATH="$BACKUPS$1"
SOURCE_BASE_PATH="$MOUNTS$1$BASE_SUFFIX"
TARGET_BASE_PATH="$BACKUPS$1$BASE_SUFFIX"
TARGET_BASE_DIR="$(dirname $TARGET_BASE_PATH)"
SOURCE_PEND_PATH="$MOUNTS$1$PEND_SUFFIX"
TARGET_PEND_PATH="$BACKUPS$1$PEND_SUFFIX"
if [ -d "$SOURCE_BASE_PATH" ]
then
echo "$SOURCE_BASE_PATH found"
else
echo "$SOURCE_BASE_PATH File not found creating snapshot of $SOURCE_PATH to $SOURCE_BASE_PATH"
btrfs subvolume snapshot -r $SOURCE_PATH $SOURCE_BASE_PATH
sync
if [ -d "$TARGET_BASE_PATH" ]
then
echo "$TARGET_BASE_PATH found out of sync with source... removing..."
btrfs subvolume delete -c $TARGET_BASE_PATH
sync
fi
fi
if [ -d "$TARGET_BASE_PATH" ]
then
echo "$TARGET_BASE_PATH found"
else
echo "$TARGET_BASE_PATH not found. Synching to $TARGET_BASE_DIR"
btrfs send $SOURCE_BASE_PATH | btrfs receive $TARGET_BASE_DIR
sync
fi
if [ -d "$SOURCE_PEND_PATH" ]
then
echo "$SOURCE_PEND_PATH found removing..."
btrfs subvolume delete -c $SOURCE_PEND_PATH
sync
fi
btrfs subvolume snapshot -r $SOURCE_PATH $SOURCE_PEND_PATH
sync
if [ -d "$TARGET_PEND_PATH" ]
then
echo "$TARGET_PEND_PATH found removing..."
btrfs subvolume delete -c $TARGET_PEND_PATH
sync
fi
echo "Sending $SOURCE_PEND_PATH to $TARGET_PEND_PATH"
btrfs send -p $SOURCE_BASE_PATH $SOURCE_PEND_PATH | btrfs receive $TARGET_BASE_DIR
sync
TARGET_DATE_SUFFIX=$(suffix)
btrfs subvolume snapshot -r $TARGET_PEND_PATH "$TARGET_PATH$TARGET_DATE_SUFFIX"
sync
btrfs subvolume delete -c $SOURCE_BASE_PATH
sync
btrfs subvolume delete -c $TARGET_BASE_PATH
sync
mv $SOURCE_PEND_PATH $SOURCE_BASE_PATH
mv $TARGET_PEND_PATH $TARGET_BASE_PATH
sync
}
function list()
{
LIST_TARGET_BASE_PATH="$BACKUPS$1$BASE_SUFFIX"
LIST_TARGET_BASE_DIR="$(dirname $LIST_TARGET_BASE_PATH)"
LIST_TARGET_BASE_NAME="$(basename -s .$BASE_SUFFIX $LIST_TARGET_BASE_PATH)"
find "$LIST_TARGET_BASE_DIR" -maxdepth 1 -mindepth 1 -type d -printf "%fn" | grep "${LIST_TARGET_BASE_NAME/$BASE_SUFFIX/$SNAP_SUFFIX}.$DATE_REGEX"
}
function remove()
{
REMOVE_TARGET_BASE_PATH="$BACKUPS$1$BASE_SUFFIX"
REMOVE_TARGET_BASE_DIR="$(dirname $REMOVE_TARGET_BASE_PATH)"
btrfs subvolume delete -c $REMOVE_TARGET_BASE_DIR/$2
sync
}
function removeall()
{
DATE_OFFSET="$2"
FILTER="$(filter "$DATE_OFFSET")"
while read -r SNAPSHOT ; do
remove "$1" "$SNAPSHOT"
done < <(list "$1" | grep "$FILTER")
}
(
COMMAND="$1"
shift
case "$COMMAND" in
"--help")
echo "Help"
;;
"suffix")
suffix
;;
"filter")
filter "$1"
;;
"backup")
wait_lock_or_terminate
backup "$1"
;;
"list")
list "$1"
;;
"remove")
wait_lock_or_terminate
remove "$1" "$2"
;;
"removeall")
wait_lock_or_terminate
removeall "$1" "$2"
;;
*)
echo "None.."
;;
esac
) 98>$LOCK_FILE
EOF
เช เชชเชฃ เชถเซเช เชเชฐเซ..?BTRFS เชธเซเชจเซเชชเชถเซเช เชฌเชจเชพเชตเชตเชพ เช เชจเซ BTRFS เชฎเซเชเชฒเซ/เชชเซเชฐเชพเชชเซเชค เชเชฐเซเชจเซ เช เชจเซเชฏ FS เชชเชฐ เชเซเชชเชฟ เชเชฐเชตเชพ เชฎเชพเชเซ เชธเชฐเชณ เชเชฆเซเชถเซเชจเซ เชธเชฎเซเชน เชธเชฎเชพเชตเซ เชเซ.
เชชเซเชฐเชฅเชฎ เชชเซเชฐเชเซเชทเซเชชเชฃ เชชเซเชฐเชฎเชพเชฃเชฎเชพเช เชฒเชพเชเชฌเซ เชนเซเช เชถเชเซ เชเซ, เชเชพเชฐเชฃ เชเซ... เชถเชฐเซเชเชคเชฎเชพเช, เชคเชฎเชพเชฎ เชกเซเชเชพ เชเซเชชเชฟ เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ. เชเชเชณเชจเชพ เชชเซเชฐเชเซเชทเซเชชเชฃ เชเซเชฌ เช เชเชกเชชเซ เชนเชถเซ, เชเชพเชฐเชฃ เชเซ... เชฎเชพเชคเซเชฐ เชซเซเชฐเชซเชพเชฐเซ เช เชจเชเชฒ เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ.
เชฌเซเชเซ เชธเซเชเซเชฐเชฟเชชเซเช เชเซ เชเชชเชฃเซ เชเซเชฐเซเชจเชฎเชพเช เชฎเซเชเซเชถเซเช:
เชเซเชเชฒเชพเช เชตเชงเซ เชฌเซเชถ เชเซเชก#cat >/root/btrfs-backup/cron-daily.sh << EOF
#!/bin/bash
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
SCRIPT_FILE="$(realpath $0)"
SCRIPT_DIR="$(dirname $SCRIPT_FILE)"
SCRIPT_NAME="$(basename -s .sh $SCRIPT_FILE)"
BACKUP_SCRIPT="$SCRIPT_DIR/btrfs-backup.sh"
RETENTION="-60 day"
$BACKUP_SCRIPT backup root/@
$BACKUP_SCRIPT removeall root/@ "$RETENTION"
$BACKUP_SCRIPT backup root/@home
$BACKUP_SCRIPT removeall root/@home "$RETENTION"
$BACKUP_SCRIPT backup boot/
$BACKUP_SCRIPT removeall boot/ "$RETENTION"
EOF
เชถเซเช เชเชฐเซ เชเซ..?เชฌเซเชเช เชช FS เชชเชฐ เชธเซเชเชฟเชฌเชฆเซเชง BTRFS เชตเซเชฒเซเชฏเซเชฎเซเชจเชพ เชเชจเซเชเซเชฐเซเชฎเซเชจเซเชเชฒ เชธเซเชจเซเชชเชถเซเช เชฌเชจเชพเชตเซ เชเซ เช เชจเซ เชธเชฟเชเชเซเชฐเชจเชพเชเช เชเชฐเซ เชเซ. เช เชชเชเซ, เชคเซ 60 เชฆเชฟเชตเชธ เชชเชนเซเชฒเชพ เชฌเชจเชพเชตเซเชฒ เชคเชฎเชพเชฎ เชเชฟเชคเซเชฐเซ เชเชพเชขเซ เชจเชพเชเซ เชเซ. เชฒเซเชจเซเช เชเชฐเซเชฏเชพ เชชเชเซ, เชธเซเชเชฟเชฌเชฆเซเชง เชตเซเชฒเซเชฏเซเชฎเซเชจเชพ เชกเซเชเซเชก เชธเซเชจเซเชชเชถเซเช /backup/btrfs/back/remote/ เชธเชฌเชกเชฟเชฐเซเชเซเชเชฐเซเชเชฎเชพเช เชฆเซเชเชพเชถเซ.
เชเชพเชฒเซ เชเซเชก เช เชฎเชฒเชจเชพ เช เชงเชฟเชเชพเชฐเซ เชเชชเซเช:
#chmod +x /root/btrfs-backup/cron-daily.sh
#chmod +x /root/btrfs-backup/btrfs-backup.sh
เชเชพเชฒเซ เชคเซเชจเซ เชคเชชเชพเชธเซเช เช
เชจเซ เชคเซเชจเซ เชเซเชฐเซเชจเชฎเชพเช เชฎเซเชเซเช:
#/usr/bin/nice -n 19 /usr/bin/ionice -c 3 /root/btrfs-backup/cron-daily.sh 2>&1 | /usr/bin/logger -t btrfs-backup
#cat /var/log/syslog | grep btrfs-backup
#crontab -e
0 2 * * * /usr/bin/nice -n 19 /usr/bin/ionice -c 3 /root/btrfs-backup/cron-daily.sh 2>&1 | /usr/bin/logger -t btrfs-backup
LVM เชชเชพเชคเชณเซ เชฌเซเชเช เชช
เชเชพเชฒเซ เชฌเซเชเช เชช เชเชชเชเชฐเชฃ เชชเชฐ เชเช เชชเชพเชคเชณเซ เชชเซเชฒ เชฌเชจเชพเชตเซเช:
#lvcreate -L 274877906944B --poolmetadataspare y --poolmetadatasize 4294967296B --chunksize 64k -Z y -T backup/thin-pool
เชเชพเชฒเซ ddrescue เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเช, เชเชพเชฐเชฃ เชเซ... เชธเซเชเซเชฐเชฟเชชเซเชเซ เช เชธเชพเชงเชจเชจเซ เชเชชเชฏเซเช เชเชฐเชถเซ:
#apt-get install gddrescue
เชเชพเชฒเซ เชธเซเชเซเชฐเชฟเชชเซเชเซเชธ เชฎเชพเชเซ เชกเชฟเชฐเซเชเซเชเชฐเซ เชฌเชจเชพเชตเซเช:
#mkdir /root/lvm-thin-backup
เชเชพเชฒเซ เชธเซเชเซเชฐเชฟเชชเซเชเชจเซ เชจเชเชฒ เชเชฐเซเช:
เช
เชเชฆเชฐ เชเชฃเซ เชฌเชฌเชพเชฒ...#cat >/root/lvm-thin-backup/lvm-thin-backup.sh << EOF
#!/bin/bash
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
SCRIPT_FILE="$(realpath $0)"
SCRIPT_DIR="$(dirname $SCRIPT_FILE)"
SCRIPT_NAME="$(basename -s .sh $SCRIPT_FILE)"
LOCK_FILE="/dev/shm/$SCRIPT_NAME.lock"
DATE_PREFIX='%Y-%m-%d'
DATE_FORMAT=$DATE_PREFIX'-%H-%M-%S'
DATE_REGEX='[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]-[0-9][0-9]-[0-9][0-9]-[0-9][0-9]'
BASE_SUFFIX=".base"
PEND_SUFFIX=".pend"
SNAP_SUFFIX=".snap"
BACKUPS="backup"
BACKUPS_POOL="thin-pool"
export LVM_SUPPRESS_FD_WARNINGS=1
function terminate ()
{
echo "$1" >&2
exit 1
}
function wait_lock()
{
flock 98
}
function wait_lock_or_terminate()
{
echo "Wating for lock..."
wait_lock || terminate "Failed to get lock. Exiting..."
echo "Got lock..."
}
function suffix()
{
FORMATTED_DATE=$(date +"$DATE_FORMAT")
echo "$SNAP_SUFFIX.$FORMATTED_DATE"
}
function filter()
{
FORMATTED_DATE=$(date --date="$1" +"$DATE_PREFIX")
echo "$SNAP_SUFFIX.$FORMATTED_DATE"
}
function read_thin_id {
lvs --rows --reportformat basic --quiet -othin_id "$1/$2" | awk '{print $2}'
}
function read_pool_lv {
lvs --rows --reportformat basic --quiet -opool_lv "$1/$2" | awk '{print $2}'
}
function read_lv_dm_path {
lvs --rows --reportformat basic --quiet -olv_dm_path "$1/$2" | awk '{print $2}'
}
function read_lv_active {
lvs --rows --reportformat basic --quiet -olv_active "$1/$2" | awk '{print $2}'
}
function read_lv_chunk_size {
lvs --rows --reportformat basic --quiet --units b --nosuffix -ochunk_size "$1/$2" | awk '{print $2}'
}
function read_lv_size {
lvs --rows --reportformat basic --quiet --units b --nosuffix -olv_size "$1/$2" | awk '{print $2}'
}
function activate_volume {
lvchange -ay -Ky "$1/$2"
}
function deactivate_volume {
lvchange -an "$1/$2"
}
function read_thin_metadata_snap {
dmsetup status "$1" | awk '{print $7}'
}
function thindiff()
{
DIFF_VG="$1"
DIFF_SOURCE="$2"
DIFF_TARGET="$3"
DIFF_SOURCE_POOL=$(read_pool_lv $DIFF_VG $DIFF_SOURCE)
DIFF_TARGET_POOL=$(read_pool_lv $DIFF_VG $DIFF_TARGET)
if [ "$DIFF_SOURCE_POOL" == "" ]
then
(>&2 echo "Source LV is not thin.")
exit 1
fi
if [ "$DIFF_TARGET_POOL" == "" ]
then
(>&2 echo "Target LV is not thin.")
exit 1
fi
if [ "$DIFF_SOURCE_POOL" != "$DIFF_TARGET_POOL" ]
then
(>&2 echo "Source and target LVs belong to different thin pools.")
exit 1
fi
DIFF_POOL_PATH=$(read_lv_dm_path $DIFF_VG $DIFF_SOURCE_POOL)
DIFF_SOURCE_ID=$(read_thin_id $DIFF_VG $DIFF_SOURCE)
DIFF_TARGET_ID=$(read_thin_id $DIFF_VG $DIFF_TARGET)
DIFF_POOL_PATH_TPOOL="$DIFF_POOL_PATH-tpool"
DIFF_POOL_PATH_TMETA="$DIFF_POOL_PATH"_tmeta
DIFF_POOL_METADATA_SNAP=$(read_thin_metadata_snap $DIFF_POOL_PATH_TPOOL)
if [ "$DIFF_POOL_METADATA_SNAP" != "-" ]
then
(>&2 echo "Thin pool metadata snapshot already exist. Assuming stale one. Will release metadata snapshot in 5 seconds.")
sleep 5
dmsetup message $DIFF_POOL_PATH_TPOOL 0 release_metadata_snap
fi
dmsetup message $DIFF_POOL_PATH_TPOOL 0 reserve_metadata_snap
DIFF_POOL_METADATA_SNAP=$(read_thin_metadata_snap $DIFF_POOL_PATH_TPOOL)
if [ "$DIFF_POOL_METADATA_SNAP" == "-" ]
then
(>&2 echo "Failed to create thin pool metadata snapshot.")
exit 1
fi
#We keep output in variable because metadata snapshot need to be released early.
DIFF_DATA=$(thin_delta -m$DIFF_POOL_METADATA_SNAP --snap1 $DIFF_SOURCE_ID --snap2 $DIFF_TARGET_ID $DIFF_POOL_PATH_TMETA)
dmsetup message $DIFF_POOL_PATH_TPOOL 0 release_metadata_snap
echo $"$DIFF_DATA" | grep -E 'different|left_only|right_only' | sed 's/</"/g' | sed 's/ /"/g' | awk -F'"' '{print $6 "t" $8 "t" $11}' | sed 's/different/copy/g' | sed 's/left_only/copy/g' | sed 's/right_only/discard/g'
}
function thinsync()
{
SYNC_VG="$1"
SYNC_PEND="$2"
SYNC_BASE="$3"
SYNC_TARGET="$4"
SYNC_PEND_POOL=$(read_pool_lv $SYNC_VG $SYNC_PEND)
SYNC_BLOCK_SIZE=$(read_lv_chunk_size $SYNC_VG $SYNC_PEND_POOL)
SYNC_PEND_PATH=$(read_lv_dm_path $SYNC_VG $SYNC_PEND)
activate_volume $SYNC_VG $SYNC_PEND
while read -r SYNC_ACTION SYNC_OFFSET SYNC_LENGTH ; do
SYNC_OFFSET_BYTES=$((SYNC_OFFSET * SYNC_BLOCK_SIZE))
SYNC_LENGTH_BYTES=$((SYNC_LENGTH * SYNC_BLOCK_SIZE))
if [ "$SYNC_ACTION" == "copy" ]
then
ddrescue --quiet --force --input-position=$SYNC_OFFSET_BYTES --output-position=$SYNC_OFFSET_BYTES --size=$SYNC_LENGTH_BYTES "$SYNC_PEND_PATH" "$SYNC_TARGET"
fi
if [ "$SYNC_ACTION" == "discard" ]
then
blkdiscard -o $SYNC_OFFSET_BYTES -l $SYNC_LENGTH_BYTES "$SYNC_TARGET"
fi
done < <(thindiff "$SYNC_VG" "$SYNC_PEND" "$SYNC_BASE")
}
function discard_volume()
{
DISCARD_VG="$1"
DISCARD_LV="$2"
DISCARD_LV_PATH=$(read_lv_dm_path "$DISCARD_VG" "$DISCARD_LV")
if [ "$DISCARD_LV_PATH" != "" ]
then
echo "$DISCARD_LV_PATH found"
else
echo "$DISCARD_LV not found in $DISCARD_VG"
exit 1
fi
DISCARD_LV_POOL=$(read_pool_lv $DISCARD_VG $DISCARD_LV)
DISCARD_LV_SIZE=$(read_lv_size "$DISCARD_VG" "$DISCARD_LV")
lvremove -y --quiet "$DISCARD_LV_PATH" || exit 1
lvcreate --thin-pool "$DISCARD_LV_POOL" -V "$DISCARD_LV_SIZE"B --name "$DISCARD_LV" "$DISCARD_VG" || exit 1
}
function backup()
{
SOURCE_VG="$1"
SOURCE_LV="$2"
TARGET_VG="$BACKUPS"
TARGET_LV="$SOURCE_VG-$SOURCE_LV"
SOURCE_BASE_LV="$SOURCE_LV$BASE_SUFFIX"
TARGET_BASE_LV="$TARGET_LV$BASE_SUFFIX"
SOURCE_PEND_LV="$SOURCE_LV$PEND_SUFFIX"
TARGET_PEND_LV="$TARGET_LV$PEND_SUFFIX"
SOURCE_BASE_LV_PATH=$(read_lv_dm_path "$SOURCE_VG" "$SOURCE_BASE_LV")
SOURCE_PEND_LV_PATH=$(read_lv_dm_path "$SOURCE_VG" "$SOURCE_PEND_LV")
TARGET_BASE_LV_PATH=$(read_lv_dm_path "$TARGET_VG" "$TARGET_BASE_LV")
TARGET_PEND_LV_PATH=$(read_lv_dm_path "$TARGET_VG" "$TARGET_PEND_LV")
if [ "$SOURCE_BASE_LV_PATH" != "" ]
then
echo "$SOURCE_BASE_LV_PATH found"
else
echo "Source base not found creating snapshot of $SOURCE_VG/$SOURCE_LV to $SOURCE_VG/$SOURCE_BASE_LV"
lvcreate --quiet --snapshot --name "$SOURCE_BASE_LV" "$SOURCE_VG/$SOURCE_LV" || exit 1
SOURCE_BASE_LV_PATH=$(read_lv_dm_path "$SOURCE_VG" "$SOURCE_BASE_LV")
activate_volume "$SOURCE_VG" "$SOURCE_BASE_LV"
echo "Discarding $SOURCE_BASE_LV_PATH as we need to bootstrap."
SOURCE_BASE_POOL=$(read_pool_lv $SOURCE_VG $SOURCE_BASE_LV)
SOURCE_BASE_CHUNK_SIZE=$(read_lv_chunk_size $SOURCE_VG $SOURCE_BASE_POOL)
discard_volume "$SOURCE_VG" "$SOURCE_BASE_LV"
sync
if [ "$TARGET_BASE_LV_PATH" != "" ]
then
echo "$TARGET_BASE_LV_PATH found out of sync with source... removing..."
lvremove -y --quiet $TARGET_BASE_LV_PATH || exit 1
TARGET_BASE_LV_PATH=$(read_lv_dm_path "$TARGET_VG" "$TARGET_BASE_LV")
sync
fi
fi
SOURCE_BASE_SIZE=$(read_lv_size "$SOURCE_VG" "$SOURCE_BASE_LV")
if [ "$TARGET_BASE_LV_PATH" != "" ]
then
echo "$TARGET_BASE_LV_PATH found"
else
echo "$TARGET_VG/$TARGET_LV not found. Creating empty volume."
lvcreate --thin-pool "$BACKUPS_POOL" -V "$SOURCE_BASE_SIZE"B --name "$TARGET_BASE_LV" "$TARGET_VG" || exit 1
echo "Have to rebootstrap. Discarding source at $SOURCE_BASE_LV_PATH"
activate_volume "$SOURCE_VG" "$SOURCE_BASE_LV"
SOURCE_BASE_POOL=$(read_pool_lv $SOURCE_VG $SOURCE_BASE_LV)
SOURCE_BASE_CHUNK_SIZE=$(read_lv_chunk_size $SOURCE_VG $SOURCE_BASE_POOL)
discard_volume "$SOURCE_VG" "$SOURCE_BASE_LV"
TARGET_BASE_POOL=$(read_pool_lv $TARGET_VG $TARGET_BASE_LV)
TARGET_BASE_CHUNK_SIZE=$(read_lv_chunk_size $TARGET_VG $TARGET_BASE_POOL)
TARGET_BASE_LV_PATH=$(read_lv_dm_path "$TARGET_VG" "$TARGET_BASE_LV")
echo "Discarding target at $TARGET_BASE_LV_PATH"
discard_volume "$TARGET_VG" "$TARGET_BASE_LV"
sync
fi
if [ "$SOURCE_PEND_LV_PATH" != "" ]
then
echo "$SOURCE_PEND_LV_PATH found removing..."
lvremove -y --quiet "$SOURCE_PEND_LV_PATH" || exit 1
sync
fi
lvcreate --quiet --snapshot --name "$SOURCE_PEND_LV" "$SOURCE_VG/$SOURCE_LV" || exit 1
SOURCE_PEND_LV_PATH=$(read_lv_dm_path "$SOURCE_VG" "$SOURCE_PEND_LV")
sync
if [ "$TARGET_PEND_LV_PATH" != "" ]
then
echo "$TARGET_PEND_LV_PATH found removing..."
lvremove -y --quiet $TARGET_PEND_LV_PATH
sync
fi
lvcreate --quiet --snapshot --name "$TARGET_PEND_LV" "$TARGET_VG/$TARGET_BASE_LV" || exit 1
TARGET_PEND_LV_PATH=$(read_lv_dm_path "$TARGET_VG" "$TARGET_PEND_LV")
SOURCE_PEND_LV_SIZE=$(read_lv_size "$SOURCE_VG" "$SOURCE_PEND_LV")
lvresize -L "$SOURCE_PEND_LV_SIZE"B "$TARGET_PEND_LV_PATH"
activate_volume "$TARGET_VG" "$TARGET_PEND_LV"
echo "Synching $SOURCE_PEND_LV_PATH to $TARGET_PEND_LV_PATH"
thinsync "$SOURCE_VG" "$SOURCE_PEND_LV" "$SOURCE_BASE_LV" "$TARGET_PEND_LV_PATH" || exit 1
sync
TARGET_DATE_SUFFIX=$(suffix)
lvcreate --quiet --snapshot --name "$TARGET_LV$TARGET_DATE_SUFFIX" "$TARGET_VG/$TARGET_PEND_LV" || exit 1
sync
lvremove --quiet -y "$SOURCE_BASE_LV_PATH" || exit 1
sync
lvremove --quiet -y "$TARGET_BASE_LV_PATH" || exit 1
sync
lvrename -y "$SOURCE_VG/$SOURCE_PEND_LV" "$SOURCE_BASE_LV" || exit 1
lvrename -y "$TARGET_VG/$TARGET_PEND_LV" "$TARGET_BASE_LV" || exit 1
sync
deactivate_volume "$TARGET_VG" "$TARGET_BASE_LV"
deactivate_volume "$SOURCE_VG" "$SOURCE_BASE_LV"
}
function verify()
{
SOURCE_VG="$1"
SOURCE_LV="$2"
TARGET_VG="$BACKUPS"
TARGET_LV="$SOURCE_VG-$SOURCE_LV"
SOURCE_BASE_LV="$SOURCE_LV$BASE_SUFFIX"
TARGET_BASE_LV="$TARGET_LV$BASE_SUFFIX"
TARGET_BASE_LV_PATH=$(read_lv_dm_path "$TARGET_VG" "$TARGET_BASE_LV")
SOURCE_BASE_LV_PATH=$(read_lv_dm_path "$SOURCE_VG" "$SOURCE_BASE_LV")
if [ "$SOURCE_BASE_LV_PATH" != "" ]
then
echo "$SOURCE_BASE_LV_PATH found"
else
echo "$SOURCE_BASE_LV_PATH not found"
exit 1
fi
if [ "$TARGET_BASE_LV_PATH" != "" ]
then
echo "$TARGET_BASE_LV_PATH found"
else
echo "$TARGET_BASE_LV_PATH not found"
exit 1
fi
activate_volume "$TARGET_VG" "$TARGET_BASE_LV"
activate_volume "$SOURCE_VG" "$SOURCE_BASE_LV"
echo Comparing "$SOURCE_BASE_LV_PATH" with "$TARGET_BASE_LV_PATH"
cmp "$SOURCE_BASE_LV_PATH" "$TARGET_BASE_LV_PATH"
echo Done...
deactivate_volume "$TARGET_VG" "$TARGET_BASE_LV"
deactivate_volume "$SOURCE_VG" "$SOURCE_BASE_LV"
}
function resync()
{
SOURCE_VG="$1"
SOURCE_LV="$2"
TARGET_VG="$BACKUPS"
TARGET_LV="$SOURCE_VG-$SOURCE_LV"
SOURCE_BASE_LV="$SOURCE_LV$BASE_SUFFIX"
TARGET_BASE_LV="$TARGET_LV$BASE_SUFFIX"
TARGET_BASE_LV_PATH=$(read_lv_dm_path "$TARGET_VG" "$TARGET_BASE_LV")
SOURCE_BASE_LV_PATH=$(read_lv_dm_path "$SOURCE_VG" "$SOURCE_BASE_LV")
if [ "$SOURCE_BASE_LV_PATH" != "" ]
then
echo "$SOURCE_BASE_LV_PATH found"
else
echo "$SOURCE_BASE_LV_PATH not found"
exit 1
fi
if [ "$TARGET_BASE_LV_PATH" != "" ]
then
echo "$TARGET_BASE_LV_PATH found"
else
echo "$TARGET_BASE_LV_PATH not found"
exit 1
fi
activate_volume "$TARGET_VG" "$TARGET_BASE_LV"
activate_volume "$SOURCE_VG" "$SOURCE_BASE_LV"
SOURCE_BASE_POOL=$(read_pool_lv $SOURCE_VG $SOURCE_BASE_LV)
SYNC_BLOCK_SIZE=$(read_lv_chunk_size $SOURCE_VG $SOURCE_BASE_POOL)
echo Syncronizing "$SOURCE_BASE_LV_PATH" to "$TARGET_BASE_LV_PATH"
CMP_OFFSET=0
while [[ "$CMP_OFFSET" != "" ]] ; do
CMP_MISMATCH=$(cmp -i "$CMP_OFFSET" "$SOURCE_BASE_LV_PATH" "$TARGET_BASE_LV_PATH" | grep differ | awk '{print $5}' | sed 's/,//g' )
if [[ "$CMP_MISMATCH" != "" ]] ; then
CMP_OFFSET=$(( CMP_MISMATCH + CMP_OFFSET ))
SYNC_OFFSET_BYTES=$(( ( CMP_OFFSET / SYNC_BLOCK_SIZE ) * SYNC_BLOCK_SIZE ))
SYNC_LENGTH_BYTES=$(( SYNC_BLOCK_SIZE ))
echo "Synching $SYNC_LENGTH_BYTES bytes at $SYNC_OFFSET_BYTES from $SOURCE_BASE_LV_PATH to $TARGET_BASE_LV_PATH"
ddrescue --quiet --force --input-position=$SYNC_OFFSET_BYTES --output-position=$SYNC_OFFSET_BYTES --size=$SYNC_LENGTH_BYTES "$SOURCE_BASE_LV_PATH" "$TARGET_BASE_LV_PATH"
else
CMP_OFFSET=""
fi
done
echo Done...
deactivate_volume "$TARGET_VG" "$TARGET_BASE_LV"
deactivate_volume "$SOURCE_VG" "$SOURCE_BASE_LV"
}
function list()
{
LIST_SOURCE_VG="$1"
LIST_SOURCE_LV="$2"
LIST_TARGET_VG="$BACKUPS"
LIST_TARGET_LV="$LIST_SOURCE_VG-$LIST_SOURCE_LV"
LIST_TARGET_BASE_LV="$LIST_TARGET_LV$SNAP_SUFFIX"
lvs -olv_name | grep "$LIST_TARGET_BASE_LV.$DATE_REGEX"
}
function remove()
{
REMOVE_TARGET_VG="$BACKUPS"
REMOVE_TARGET_LV="$1"
lvremove -y "$REMOVE_TARGET_VG/$REMOVE_TARGET_LV"
sync
}
function removeall()
{
DATE_OFFSET="$3"
FILTER="$(filter "$DATE_OFFSET")"
while read -r SNAPSHOT ; do
remove "$SNAPSHOT"
done < <(list "$1" "$2" | grep "$FILTER")
}
(
COMMAND="$1"
shift
case "$COMMAND" in
"--help")
echo "Help"
;;
"suffix")
suffix
;;
"filter")
filter "$1"
;;
"backup")
wait_lock_or_terminate
backup "$1" "$2"
;;
"list")
list "$1" "$2"
;;
"thindiff")
thindiff "$1" "$2" "$3"
;;
"thinsync")
thinsync "$1" "$2" "$3" "$4"
;;
"verify")
wait_lock_or_terminate
verify "$1" "$2"
;;
"resync")
wait_lock_or_terminate
resync "$1" "$2"
;;
"remove")
wait_lock_or_terminate
remove "$1"
;;
"removeall")
wait_lock_or_terminate
removeall "$1" "$2" "$3"
;;
*)
echo "None.."
;;
esac
) 98>$LOCK_FILE
EOF
เชคเซ เชถเซเช เชเชฐเซ เชเซ...?เชชเชพเชคเชณเชพ เชธเซเชจเซเชชเชถเซเชเชจเซ เชนเซเชฐเชซเซเชฐ เชเชฐเชตเชพ เช เชจเซ ddrescue เช เชจเซ blkdiscard เชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชฌเซเชเชพ เชฌเซเชฒเซเช เชเชชเชเชฐเชฃ เชชเชฐ thin_delta เชฆเซเชตเชพเชฐเชพ เชชเซเชฐเชพเชชเซเชค เชฅเชฏเซเชฒ เชฌเซ เชชเชพเชคเชณเชพ เชธเซเชจเซเชชเชถเซเช เชตเชเซเชเซเชจเชพ เชคเชซเชพเชตเชคเชจเซ เชธเซเชฎเซเชณ เชเชฐเชตเชพ เชฎเชพเชเซ เชเชฆเซเชถเซเชจเซ เชธเชฎเซเชน เชธเชฎเชพเชตเซ เชเซ.
เชฌเซเชเซ เชธเซเชเซเชฐเชฟเชชเซเช เชเซ เชเชชเชฃเซ เชเซเชฐเซเชจเชฎเชพเช เชฎเซเชเซเชถเซเช:
เชฅเซเชกเซ เชตเชงเซ เชเชกเชถ#cat >/root/lvm-thin-backup/cron-daily.sh << EOF
#!/bin/bash
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
SCRIPT_FILE="$(realpath $0)"
SCRIPT_DIR="$(dirname $SCRIPT_FILE)"
SCRIPT_NAME="$(basename -s .sh $SCRIPT_FILE)"
BACKUP_SCRIPT="$SCRIPT_DIR/lvm-thin-backup.sh"
RETENTION="-60 days"
$BACKUP_SCRIPT backup images linux-dev
$BACKUP_SCRIPT backup images win8
$BACKUP_SCRIPT backup images win8-data
#etc
$BACKUP_SCRIPT removeall images linux-dev "$RETENTION"
$BACKUP_SCRIPT removeall images win8 "$RETENTION"
$BACKUP_SCRIPT removeall images win8-data "$RETENTION"
#etc
EOF
เชคเซ เชถเซเช เชเชฐเซ เชเซ...?เชธเซเชเชฟเชฌเชฆเซเชง เชชเชพเชคเชณเชพ เชตเซเชฒเซเชฏเซเชฎเซเชจเชพ เชฌเซเชเช เชช เชฌเชจเชพเชตเชตเชพ เช เชจเซ เชธเชฟเชเชเซเชฐเชจเชพเชเช เชเชฐเชตเชพ เชฎเชพเชเซ เช เชเชพเชเชจเซ เชธเซเชเซเชฐเชฟเชชเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชเซ. เชธเซเชเซเชฐเชฟเชชเซเช เชธเซเชเชฟเชฌเชฆเซเชง เชตเซเชฒเซเชฏเซเชฎเซเชจเชพ เชจเชฟเชทเซเชเซเชฐเชฟเชฏ เชธเซเชจเซเชชเชถเซเช เชเซเชกเชถเซ, เชเซ เชเซเชฒเซเชฒเชพ เชธเชฟเชเชเซเชฐเชจเชพเชเชเซเชถเชจ เชชเชเซเชจเชพ เชซเซเชฐเชซเชพเชฐเซเชจเซ เชเซเชฐเซ เช เชเชฐเชตเชพ เชฎเชพเชเซ เชเชฐเซเชฐเซ เชเซ.
เช เชธเซเชเซเชฐเชฟเชชเซเชเชจเซ เชธเชเชชเชพเชฆเชฟเชค เชเชฐเชตเซ เชเชตเชถเซเชฏเช เชเซ, เชเซเชฎเชพเช เชชเชพเชคเชณเชพ เชตเซเชฒเซเชฏเซเชฎเซเชจเซ เชธเซเชเชฟเชจเซ เชเชฒเซเชฒเซเช เชเชฐเชตเซ เชเซเชเช เชเซเชจเชพ เชฎเชพเชเซ เชฌเซเชเช เชช เชจเชเชฒเซ เชฌเชจเชพเชตเชตเซ เชเซเชเช. เชเชชเซเชฒเชพ เชจเชพเชฎเซ เชฎเชพเชคเซเชฐ เชฆเซเชทเซเชเชพเชเชคเชฐเซเชช เชนเซเชคเซ เชฎเชพเชเซ เชเซ. เชเซ เชคเชฎเซ เชเชเซเชเซ, เชคเซ เชคเชฎเซ เชเช เชธเซเชเซเชฐเชฟเชชเซเช เชฒเชเซ เชถเชเซ เชเซ เชเซ เชคเชฎเชพเชฎ เชตเซเชฒเซเชฏเซเชฎเซเชจเซ เชธเชฟเชเชเซเชฐเชจเชพเชเช เชเชฐเชถเซ.
เชเชพเชฒเซ เช เชงเชฟเชเชพเชฐเซ เชเชชเซเช:
#chmod +x /root/lvm-thin-backup/cron-daily.sh
#chmod +x /root/lvm-thin-backup/lvm-thin-backup.sh
เชเชพเชฒเซ เชคเซเชจเซ เชคเชชเชพเชธเซเช เช เชจเซ เชคเซเชจเซ เชเซเชฐเซเชจเชฎเชพเช เชฎเซเชเซเช:
#/usr/bin/nice -n 19 /usr/bin/ionice -c 3 /root/lvm-thin-backup/cron-daily.sh 2>&1 | /usr/bin/logger -t lvm-thin-backup
#cat /var/log/syslog | grep lvm-thin-backup
#crontab -e
0 3 * * * /usr/bin/nice -n 19 /usr/bin/ionice -c 3 /root/lvm-thin-backup/cron-daily.sh 2>&1 | /usr/bin/logger -t lvm-thin-backup
เชชเซเชฐเชฅเชฎ เชฒเซเชจเซเช เชฒเชพเชเชฌเซ เชนเชถเซ, เชเชพเชฐเชฃ เชเซ... เชฌเชงเซ เชตเชชเชฐเชพเชฏเซเชฒเซ เชเชเซเชฏเชพเชจเซ เชจเชเชฒ เชเชฐเซเชจเซ เชชเชพเชคเชณเชพ เชตเซเชฒเซเชฏเซเชฎเซ เชธเชเชชเซเชฐเซเชฃเชชเชฃเซ เชธเชฎเชจเซเชตเชฏเชฟเชค เชฅเชถเซ. LVM เชชเชพเชคเชณเชพ เชฎเซเชเชพเชกเซเชเชพ เชฎเชพเชเซ เชเชญเชพเชฐ, เช
เชฎเซ เชเชพเชฃเซเช เชเซเช เชเซ เชเชฏเชพ เชฌเซเชฒเซเชเซเชธ เชตเชพเชธเซเชคเชตเชฎเชพเช เชเชชเชฏเซเชเชฎเชพเช เชเซ, เชคเซเชฅเซ เชฎเชพเชคเซเชฐ เชตเชพเชธเซเชคเชตเชฎเชพเช เชตเชชเชฐเชพเชฏเซเชฒ เชชเชพเชคเชณเชพ เชตเซเชฒเซเชฏเซเชฎ เชฌเซเชฒเซเชเซเชธเชจเซ เชจเชเชฒ เชเชฐเชตเชพเชฎเชพเช เชเชตเชถเซ.
เช เชจเซเชเชพเชฎเซ เชฐเชจ LVM เชฅเชฟเชจ เชฎเซเชเชพเชกเซเชเชพ เชฆเซเชตเชพเชฐเชพ เชเซเชฐเซเชเชฟเชเช เชฌเชฆเชฒเชตเชพ เชฎเชพเชเซ เชเชญเชพเชฐ เชตเชงเชพเชฐเชพเชจเซ เชฐเซเชคเซ เชกเซเชเชพเชจเซ เชจเชเชฒ เชเชฐเชถเซ.
เชเชพเชฒเซ เชเซเชเช เชถเซเช เชฅเชฏเซเช:
#time /root/btrfs-backup/cron-daily.sh
real 0m2,967s
user 0m0,225s
sys 0m0,353s
#time /root/lvm-thin-backup/cron-daily.sh
real 1m2,710s
user 0m12,721s
sys 0m6,671s
#ls -al /backup/btrfs/back/remote/*
/backup/btrfs/back/remote/boot:
total 0
drwxr-xr-x 1 root root 1260 ะผะฐั 26 09:11 .
drwxr-xr-x 1 root root 16 ะผะฐั 6 09:30 ..
drwxr-xr-x 1 root root 322 ะผะฐั 26 02:00 .@base
drwxr-xr-x 1 root root 516 ะผะฐั 6 09:39 [email protected]
drwxr-xr-x 1 root root 516 ะผะฐั 6 09:39 [email protected]
...
/backup/btrfs/back/remote/root:
total 0
drwxr-xr-x 1 root root 2820 ะผะฐั 26 09:11 .
drwxr-xr-x 1 root root 16 ะผะฐั 6 09:30 ..
drwxr-xr-x 1 root root 240 ะผะฐั 26 09:11 @.@base
drwxr-xr-x 1 root root 22 ะผะฐั 26 09:11 @home.@base
drwxr-xr-x 1 root root 22 ะผะฐั 6 09:39 @[email protected]
drwxr-xr-x 1 root root 22 ะผะฐั 6 09:39 @[email protected]
...
drwxr-xr-x 1 root root 240 ะผะฐั 6 09:39 @[email protected]
drwxr-xr-x 1 root root 240 ะผะฐั 6 09:39 @[email protected]
...
#lvs -olv_name,lv_size images && lvs -olv_name,lv_size backup
LV LSize
linux-dev 128,00g
linux-dev.base 128,00g
thin-pool 1,38t
win8 128,00g
win8-data 2,00t
win8-data.base 2,00t
win8.base 128,00g
LV LSize
backup 256,00g
images-linux-dev.base 128,00g
images-linux-dev.snap.2020-03-08-10-09-11 128,00g
images-linux-dev.snap.2020-03-08-10-09-25 128,00g
...
images-win8-data.base 2,00t
images-win8-data.snap.2020-03-16-14-11-55 2,00t
images-win8-data.snap.2020-03-16-14-19-50 2,00t
...
images-win8.base 128,00g
images-win8.snap.2020-03-17-04-51-46 128,00g
images-win8.snap.2020-03-18-03-02-49 128,00g
...
thin-pool <2,09t
เชเชจเซ เชจเซเชธเซเชเชฟเชเช เชกเซเชฒเซเชธ เชธเชพเชฅเซ เชถเซเช เชธเชเชฌเชเชง เชเซ?
เชฎเซเชเซ เชญเชพเชเซ, เชเชชเซเชฒ เชเซ เชเซ LVM LV เชฒเซเชเชฟเชเชฒ เชตเซเชฒเซเชฏเซเชฎเซ เช เชจเซเชฏ VG เชฎเชพเชเซ LVM PV เชญเซเชคเชฟเช เชตเซเชฒเซเชฏเซเชฎเซ เชนเซเช เชถเชเซ เชเซ. LVM เชชเซเชจเชฐเชพเชตเชฐเซเชคเชฟเชค เชนเซเช เชถเชเซ เชเซ, เชจเซเชธเซเชเชฟเชเช เชกเซเชฒเซเชธเชจเซ เชเซเชฎ. เช LVM เชจเซ เช เชคเซเชฏเชเชค เชธเซเชเชฎเชคเชพ เชเชชเซ เชเซ.
PS
เชเชเชฒเชพ เชฒเซเชเชฎเชพเช, เช
เชฎเซ เชนเซเชฎ เชกเซเชธเซเชเชเซเชช, เชนเซเชฎ เชเชจเซเชเชฐเชจเซเช เช
เชจเซ P2P เชจเซเชเชตเชฐเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเซเชเชฒเชพเช เชเชเชกเซ เชชเชฐ เชฐเชฟเชกเชจเซเชกเชจเซเชธเซ เชธเชพเชฅเซ เชเซเช-เชกเชฟเชธเซเชเซเชฐเชฟเชฌเซเชฏเซเชเซเชก เชธเซเชเซเชฐเซเช/เชตเซเชเชฎ เชเซเชฒเชธเซเชเชฐ เชฌเชจเชพเชตเชตเชพเชจเชพ เชเชงเชพเชฐ เชคเชฐเซเชเซ เชเชฃเซ เชธเชฎเชพเชจ เชฎเซเชฌเชพเชเชฒ เชธเซเชเซเชฐเซเช เชธเชฟเชธเซเชเชฎเซเชธ/KVM เชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซเชถเซเช.
เชธเซเชฐเซเชธ: www.habr.com