เดŽเตฝเดตเดฟเดŽเดฎเตเดฎเดฟเดจเตเด‚ เดฎเดพเดŸเตเดฐเดฟเดฏเต‹เดทเตเด•เดฏเตเด•เตเด•เตเด‚ เดชเตŠเดคเตเดตเดพเดฏเตเดณเตเดณเดคเต เดŽเดจเตเดคเดพเดฃเต?

เดชเด•เดฒเดฟเดจเตเดฑเต† เดธเดฎเดฏเด‚.
md RAID + LVM เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด•เต†เดตเดฟเดŽเดฎเตเดฎเดฟเดจเดพเดฏเดฟ เด’เดฐเต เดกเดพเดฑเตเดฑ เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเต เดธเดฟเดธเตเดฑเตเดฑเด‚ เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดŽเดจเตเดฑเต† เดชเตเดฐเดพเดฏเต‹เด—เดฟเด• เด…เดจเตเดญเดตเด‚ เด•เดฎเตเดฎเตเดฏเต‚เดฃเดฟเดฑเตเดฑเดฟเดฏเตเดฎเดพเดฏเดฟ เดชเด™เตเด•เดฟเดŸเดพเตป เดžเดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเต.

เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเดฟเตฝ เด‰เตพเดชเตเดชเต†เดŸเตเด‚:

  • NVMe SSD-เดฏเดฟเตฝ เดจเดฟเดจเตเดจเต md RAID 1 เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเดจเตเดจเต.
  • SATA SSD-เตฝ เดจเดฟเดจเตเดจเตเด‚ เดธเดพเดงเดพเดฐเดฃ เดกเตเดฐเตˆเดตเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเตเด‚ md RAID 6 เด•เต‚เดŸเตเดŸเดฟเดšเตเดšเต‡เตผเด•เตเด•เตเดจเตเดจเต.
  • SSD RAID 1/6-เดฒเต† TRIM/DISCARD เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดจเตเดฑเต† เดธเดตเดฟเดถเต‡เดทเดคเด•เตพ.
  • เด’เดฐเต เดธเดพเดงเดพเดฐเดฃ เดกเดฟเดธเตเด•เตเด•เดณเดฟเตฝ เดฌเต‚เดŸเตเดŸเดฌเดฟเตพ md RAID 1/6 เด…เดฑเต‡ เด‰เดฃเตเดŸเดพเด•เตเด•เตเดจเตเดจเต.
  • BIOS-เตฝ NVMe เดชเดฟเดจเตเดคเตเดฃ เด‡เดฒเตเดฒเดพเดคเตเดคเดชเตเดชเต‹เตพ NVMe RAID 1-เตฝ เดธเดฟเดธเตเดฑเตเดฑเด‚ เด‡เตปเดธเตเดฑเตเดฑเต‹เตพ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.
  • เดŽเตฝเดตเดฟเดŽเด‚ เด•เดพเดทเต†, เดŽเตฝเดตเดฟเดŽเด‚ เดคเดฟเตป เดŽเดจเตเดจเดฟเดต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต.
  • BTRFS เดธเตเดจเดพเดชเตเดชเตเดทเต‹เดŸเตเดŸเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฌเดพเด•เตเด•เดชเตเดชเดฟเดจเดพเดฏเดฟ เด…เดฏเดฏเตเด•เตเด•เตเด•/เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เตเด•.
  • BTRFS เดธเตเดฑเตเดฑเตˆเตฝ เดฌเดพเด•เตเด•เดชเตเดชเตเด•เตพเด•เตเด•เดพเดฏเดฟ LVM เดจเต‡เตผเดคเตเดค เดธเตเดจเดพเดชเตเดชเตเดทเต‹เดŸเตเดŸเตเด•เดณเตเด‚ thin_delta เด‰เด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต.

เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดฎเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เดฆเดฏเดตเดพเดฏเดฟ เดชเต‚เดšเตเดšเดฏเต† เด•เดพเดฃเตเด•.

เดชเตเดฐเดธเตเดคเดพเดตเดจ

เดˆ เดฒเต‡เด–เดจเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดฎเต†เดฑเตเดฑเต€เดฐเดฟเดฏเดฒเตเด•เตพ/เด‰เดฆเดพเดนเดฐเดฃเด™เตเด™เตพ/เด•เต‹เดกเต/เดจเตเดฑเตเด™เตเด™เตเด•เตพ/เดกเดพเดฑเตเดฑ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•เดฏเต‹ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดคเดฟเดฐเดฟเด•เตเด•เตเด•เดฏเต‹ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดฑเต† เด…เดจเดจเตเดคเดฐเดซเดฒเด™เตเด™เตพเด•เตเด•เต เดฐเดšเดฏเดฟเดคเดพเดตเต เด’เดฐเต เด‰เดคเตเดคเดฐเดตเดพเดฆเดฟเดคเตเดคเดตเตเด‚ เดตเดนเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ. เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดตเดฟเดงเดคเตเดคเดฟเตฝ เดˆ เดฎเต†เดฑเตเดฑเต€เดฐเดฟเดฏเตฝ เดตเดพเดฏเดฟเด•เตเด•เตเด•เดฏเต‹ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•เดฏเต‹ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต†, เดˆ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เดณเตเดŸเต† เดŽเดฒเตเดฒเดพ เด…เดจเดจเตเดคเดฐเดซเดฒเด™เตเด™เดณเตเดŸเต†เดฏเตเด‚ เด‰เดคเตเดคเดฐเดตเดพเดฆเดฟเดคเตเดคเด‚ เดจเดฟเด™เตเด™เตพ เดเดฑเตเดฑเต†เดŸเตเด•เตเด•เตเดจเตเดจเต. เดธเดพเดงเตเดฏเดฎเดพเดฏ เด…เดจเดจเตเดคเดฐเดซเดฒเด™เตเด™เดณเดฟเตฝ เด‡เดต เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต:

  • เด•เตเดฐเดฟเดธเตเดชเต-เดซเตเดฐเตˆเดกเต NVMe SSD-เด•เตพ.
  • เดฑเต†เด•เตเด•เต‹เตผเดกเดฟเด‚เด—เต เดฑเดฟเดธเต‹เดดเตโ€Œเดธเตเด‚ SSD เดกเตเดฐเตˆเดตเตเด•เดณเตเดŸเต† เดชเดฐเดพเดœเดฏเดตเตเด‚ เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต.
  • เดฌเดพเด•เตเด•เดชเตเดชเต เดชเด•เตผเดชเตเดชเตเด•เตพ เด‰เตพเดชเตเดชเต†เดŸเต†, เดŽเดฒเตเดฒเดพ เดกเตเดฐเตˆเดตเตเด•เดณเดฟเดฒเต†เดฏเตเด‚ เดŽเดฒเตเดฒเดพ เดกเดพเดฑเตเดฑเดฏเตเดŸเต†เดฏเตเด‚ เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏ เดจเดทเตเดŸเด‚.
  • เดคเต†เดฑเตเดฑเดพเดฏ เด•เดฎเตเดชเตเดฏเต‚เดŸเตเดŸเตผ เดนเดพเตผเดกเตโ€Œเดตเต†เดฏเตผ.
  • เดธเดฎเดฏเดตเตเด‚ เดžเดฐเดฎเตเดชเตเด•เดณเตเด‚ เดชเดฃเดตเตเด‚ เดชเดพเดดเดพเด•เตเด•เดฟ.
  • เดฎเตเด•เดณเดฟเตฝ เดชเดŸเตเดŸเดฟเด•เดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏเดฟเดŸเตเดŸเดฟเดฒเตเดฒเดพเดคเตเดค เดฎเดฑเตเดฑเต‡เดคเต†เด™เตเด•เดฟเดฒเตเด‚ เด…เดจเดจเตเดคเดฐเดซเดฒเด™เตเด™เตพ.

เด…เดฏเตบ

เดฒเดญเตเดฏเดฎเดพเดฏเดต เด‡เดตเดฏเดพเดฏเดฟเดฐเตเดจเตเดจเต:

เดเด•เดฆเต‡เดถเด‚ 2013 เดฎเตเดคเตฝ Z87 เดšเดฟเดชเตโ€Œเดธเต†เดฑเตเดฑเตเดณเตเดณ เดฎเดฆเตผเดฌเต‹เตผเดกเต, เด‡เดจเตเดฑเตฝ เด•เต‹เตผ i7 / เดนเดพเดธเตโ€Œเดตเต†เดฒเตเดฒเดฟเดจเตŠเดชเตเดชเด‚.

  • เดชเตเดฐเต‹เดธเดธเตเดธเตผ 4 เด•เต‹เดฑเตเด•เตพ, 8 เดคเตเดฐเต†เดกเตเด•เตพ
  • 32 เดœเดฟเดฌเดฟ DDR3 เดฑเดพเด‚
  • 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 เดฎเต‹เดกเดฟเดฒเต‡เด•เตเด•เต เดซเตเดฒเดพเดทเต เดšเต†เดฏเตเดคเต. เดฑเต†เดฏเตเดกเต เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เดฟเดฏ เดซเต‡เด‚เดตเต†เดฏเดฑเตเด•เตพ เดฎเดจเดƒเดชเต‚เตผเดตเตเดตเด‚ HBA เดซเต‡เด‚เดตเต†เดฏเตผ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเดšเตเดšเต:

  1. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดŽเดชเตเดชเต‹เตพ เดตเต‡เดฃเดฎเต†เด™เตเด•เดฟเดฒเตเด‚ เดˆ เด…เดกเดพเดชเตเดฑเตเดฑเตผ เดตเดฒเดฟเดšเตเดšเต†เดฑเดฟเดฏเตเด•เดฏเตเด‚ เดจเดฟเด™เตเด™เตพ เด•เดฃเตเดŸ เดฎเดฑเตเดฑเต‡เดคเต†เด™เตเด•เดฟเดฒเตเด‚ เด’เดจเตเดจเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด…เดคเต เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเดพเด‚.
  2. TRIM/Discard เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เดกเดฟเดธเตเด•เตเด•เดณเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต, เด•เดพเดฐเดฃเด‚... RAID เดซเต‡เด‚เดตเต†เดฏเดฑเดฟเตฝ เดˆ เด•เดฎเดพเตปเดกเตเด•เตพ เด’เดŸเตเดŸเตเด‚ เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ, เด•เต‚เดŸเดพเดคเต† HBA, เดชเตŠเดคเตเดตเต‡, เดฌเดธเดฟเดฒเต‚เดŸเต† เดŽเดจเตเดคเต เด•เดฎเดพเตปเดกเตเด•เตพ เด•เตˆเดฎเดพเดฑเตเดฑเด‚ เดšเต†เดฏเตเดฏเดชเตเดชเต†เดŸเตเดจเตเดจเต เดŽเดจเตเดจเดคเต เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ.

เดนเดพเตผเดกเต เดกเตเดฐเตˆเดตเตเด•เตพ - 8 เดซเต‹เด‚ เดซเดพเด•เตเดŸเดฑเดฟเตฝ 7 TB เดถเต‡เดทเดฟเดฏเตเดณเตเดณ HGST เดŸเตเดฐเดพเดตเตฝเดธเตเดฑเตเดฑเดพเตผ 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 เด•เดทเดฃเด™เตเด™เตพ.

เดˆ SSD-เด•เตพเด•เตเด•เดพเดฏเดฟ, เด•เตเดฐเดฎเดฐเดนเดฟเดคเดฎเดพเดฏ เดตเดพเดฏเดจ/เดŽเดดเตเดคเตเดคเต เดตเต‡เด—เดคเดฏเตเด‚ เดจเดฟเด™เตเด™เดณเตเดŸเต† เด†เดตเดถเตเดฏเด™เตเด™เตพเด•เตเด•เตเดณเตเดณ เดตเดฟเดญเดตเดถเต‡เดทเดฟเดฏเตเด‚ เดชเตเดฐเดงเดพเดจเดฎเดพเดฃเต. เด…เดตเตผเด•เตเด•เตเดณเตเดณ เดฑเต‡เดกเดฟเดฏเต‡เดฑเตเดฑเตผ. เดจเดฟเตผเดฌเดจเตเดงเดฎเดพเดฏเตเด‚. เดคเดฟเด•เดšเตเดšเตเด‚. เด…เดฒเตเดฒเดพเดคเตเดคเดชเด•เตเดทเด‚, เด†เดฆเตเดฏเดคเตเดคเต† เดฑเต†เดฏเดฟเดกเต เดธเดฟเตปเด•เตเดฐเตŠเดฃเตˆเดธเต‡เดทเตป เดธเดฎเดฏเดคเตเดคเต เด•เตเดฐเดฟเดธเตเดชเดฟ เด†เด•เตเดจเตเดจเดคเต เดตเดฐเต† เดซเตเดฐเตˆ เดšเต†เดฏเตเดฏเตเด•.

PCIe 8 2x เดธเตเดฒเต‹เดŸเตเดŸเดฟเตฝ 2 x NVMe SSD-เดจเตเดณเตเดณ StarTech PEX2M3.0E8 เด…เดกเดพเดชเตเดฑเตเดฑเตผ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดคเต. เด‡เดคเต เดตเต€เดฃเตเดŸเตเด‚ เด’เดฐเต HBA เดฎเดพเดคเตเดฐเดฎเดพเดฃเต, เดŽเดจเตเดจเดพเตฝ NVMe-เดฏเตเด•เตเด•เต. เดฌเดฟเตฝเดฑเตเดฑเต-เด‡เตป เดชเดฟเดธเดฟเดเด‡ เดธเตเดตเดฟเดšเตเดšเดฟเดจเตเดฑเต† เดธเดพเดจเตเดจเดฟเดงเตเดฏเด‚ เด•เดพเดฐเดฃเด‚ เดฎเดฆเตผเดฌเต‹เตผเดกเดฟเตฝ เดจเดฟเดจเตเดจเต เดชเดฟเดธเดฟเดเด‡ เดตเดฟเดญเดœเดจ เดชเดฟเดจเตเดคเตเดฃ เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒเดพเดคเตเดคเดคเดฟเดจเดพเตฝ เด‡เดคเต เดตเดฟเดฒเด•เตเดฑเดžเตเดž เด…เดกเดพเดชเตเดฑเตเดฑเดฑเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฃเต. x1 PCIe 1.0 เดธเตเดฒเต‹เดŸเตเดŸเต เด†เดฃเต†เด™เตเด•เดฟเตฝ เดชเต‹เดฒเตเด‚, PCIe เด‰เดณเตเดณ เดเดฑเตเดฑเดตเตเด‚ เดชเตเดฐเดพเดคเดจเดฎเดพเดฏ เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเตฝ เดชเต‹เดฒเตเด‚ เด‡เดคเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเด‚. เดธเตเดตเดพเดญเดพเดตเดฟเด•เดฎเดพเดฏเตเด‚, เด‰เดšเดฟเดคเดฎเดพเดฏ เดตเต‡เด—เดคเดฏเดฟเตฝ. เด…เดตเดฟเดŸเต† เดฑเต†เดฏเตเดกเตเด•เดณเตŠเดจเตเดจเตเดฎเดฟเดฒเตเดฒ. เดฌเต‹เตผเดกเดฟเตฝ เดฌเดฟเตฝเดฑเตเดฑเต-เด‡เตป เดฌเดฏเต‹เดธเต เด‡เดฒเตเดฒ. เด…เดคเดฟเดจเดพเตฝ, เดจเดฟเด™เตเด™เดณเตเดŸเต† เดธเดฟเดธเตเดฑเตเดฑเด‚ NVMe เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฌเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเดพเตป เดฎเดพเดจเตเดคเตเดฐเดฟเด•เดฎเดพเดฏเดฟ เดชเด เดฟเด•เตเด•เดฟเดฒเตเดฒ, เดˆ เด‰เดชเด•เดฐเดฃเดคเตเดคเดฟเดจเต เดจเดจเตเดฆเดฟ NVMe RAID เดตเดณเดฐเต† เด•เตเดฑเดตเดพเดฃเต.

เดˆ เด˜เดŸเด•เด‚ เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเตฝ เด’เดฐเต เดธเต—เดœเดจเตเดฏ 8x PCIe 3.0 เดฎเดพเดคเตเดฐเดฎเตเดณเตเดณเดคเตเด•เตŠเดฃเตเดŸเดพเดฃเต, เด•เต‚เดŸเดพเดคเต† 2 เดธเต—เดœเดจเตเดฏ เดธเตเดฒเต‹เดŸเตเดŸเตเด•เตพ เด‰เดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เด…เดคเต เดฐเดฃเตเดŸเต เดชเต†เดจเตเดจเดฟ PEX4M2E1 เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด…เดจเดฒเต‹เด—เต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดŽเดณเตเดชเตเดชเดคเตเดคเดฟเตฝ เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเด•เตเด•เดพเด‚, เด…เดคเต 600 เดตเดฟเดฒเดฏเตเด•เตเด•เต เดŽเดตเดฟเดŸเต†เดฏเตเด‚ เดตเดพเด™เตเด™เดพเด‚. เดฑเต‚เดฌเดฟเตพเดธเต.

เดŽเดฒเตเดฒเดพเดคเตเดคเดฐเด‚ เดนเดพเตผเดกเตโ€Œเดตเต†เดฏเดฑเตเด•เดณเตเดŸเต†เดฏเตเด‚ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฌเดฟเตฝเดฑเตเดฑเต-เด‡เตป เดšเดฟเดชเตโ€Œเดธเต†เดฑเตเดฑเต/เดฌเดฏเต‹เดธเต เดฑเต†เดฏเตโ€Œเดกเตเด•เดณเตเดŸเต†เดฏเตเด‚ เดจเดฟเดฐเดธเดฟเด•เตเด•เตฝ เดฌเต‹เดงเดชเต‚เตผเดตเด‚ เด‰เดฃเตเดŸเดพเด•เตเด•เดฟเดฏเดคเดพเดฃเต, เดŽเดฒเตเดฒเดพ เดกเดพเดฑเตเดฑเดฏเตเด‚ เดธเด‚เดฐเด•เตเดทเดฟเดšเตเดšเตเด•เตŠเดฃเตเดŸเต, SSD/HDD เด’เดดเดฟเด•เต†, เดฎเตเดดเตเดตเตป เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเต†เดฏเตเด‚ เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚. เดคเดฟเด•เดšเตเดšเตเด‚ เดชเตเดคเดฟเดฏ/เดตเตเดฏเดคเตเดฏเดธเตโ€Œเดค เดนเดพเตผเดกเตโ€Œเดตเต†เดฏเดฑเดฟเดฒเต‡เด•เตเด•เต เดฎเดพเดฑเตเดฎเตเดชเต‹เตพ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดค เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเดฟเด‚เด—เต เดธเดฟเดธเตเดฑเตเดฑเด‚ เดชเต‹เดฒเตเด‚ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดธเด‚เดฐเด•เตเดทเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚. SATA, PCIe เดชเต‹เตผเดŸเตเดŸเตเด•เตพ เด‰เดฃเตเดŸเต เดŽเดจเตเดจเดคเดพเดฃเต เดชเตเดฐเดงเดพเดจ เด•เดพเดฐเตเดฏเด‚. เด‡เดคเต เด’เดฐเต เดคเดคเตเดธเดฎเดฏ เดธเดฟเดกเดฟ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฌเต‚เดŸเตเดŸเดฌเดฟเตพ เดซเตเดฒเดพเดทเต เดกเตเดฐเตˆเดตเต เดชเต‹เดฒเต†เดฏเดพเดฃเต, เดตเดณเดฐเต† เดตเต‡เด—เดคเดฏเตเดณเตเดณเดคเตเด‚ เด…เตฝเดชเตเดชเด‚ เดตเดฒเตเดคเตเด‚ เดฎเดพเดคเตเดฐเด‚.

เดจเตผเดฎเตเดฎเด‚เด…เดฒเตเดฒเดพเดคเตเดคเดชเด•เตเดทเด‚, เดŽเดจเตเดคเดพเดฃเต เดธเด‚เดญเดตเดฟเด•เตเด•เตเดจเตเดจเดคเต†เดจเตเดจเต เดจเดฟเด™เตเด™เตพเด•เตเด•เดฑเดฟเดฏเดพเด‚ - เดšเดฟเดฒเดชเตเดชเต‹เตพ เดจเดฟเด™เตเด™เตพ เด…เดŸเดฟเดฏเดจเตเดคเดฟเดฐเดฎเดพเดฏเดฟ เดฎเตเดดเตเดตเตป เด…เดฑเต‡เดฏเตเด‚ เดจเดฟเด™เตเด™เดณเต‹เดŸเตŠเดชเตเดชเด‚ เด•เตŠเดฃเตเดŸเตเดชเต‹เด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เดŽเดจเตเดจเดพเตฝ เดกเดพเดฑเตเดฑ เดจเดทเตเดŸเดชเตเดชเต†เดŸเตเดคเตเดคเดพเตป เดžเดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ. เด‡เดคเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เดธเต‚เดšเดฟเดชเตเดชเดฟเดšเตเดš เดŽเดฒเตเดฒเดพ เดฎเต€เดกเดฟเดฏเด•เดณเตเด‚ เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเต เด•เต‡เดธเดฟเดจเตเดฑเต† 5.25 เดฌเต‡เด•เดณเดฟเดฒเต† เดธเตเดฒเตˆเดกเตเด•เดณเดฟเตฝ เดธเต—เด•เดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฏเดฟ เดธเตเดฅเดฟเดคเดฟเดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เดถเดฐเดฟ, เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚, เดตเตเดฏเดคเตเดฏเดธเตเดค SSD เด•เดพเดทเดฟเด‚เด—เต เดฐเต€เดคเดฟเด•เตพ เดชเดฐเต€เด•เตเดทเดฟเดšเตเดšเดคเดฟเดจเต Linux.

เดนเดพเตผเดกเตโ€Œเดตเต†เดฏเตผ เดฑเต†เดฏเตเดกเตเด•เตพ เดตเดฟเดฐเดธเดฎเดพเดฃเต. เด…เดคเต เด“เดฃเดพเด•เตเด•เตเด•. เด’เดจเตเดจเตเด•เดฟเตฝ เด‡เดคเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ. เด•เต‚เดŸเดพเดคเต† mdadm-เตฝ เดŽเดชเตเดชเต‹เดดเตเด‚ เด“เดชเตเดทเดจเตเด•เตพ เด‰เดฃเตเดŸเต.

เดธเต‹เดซเตเดฑเตเดฑเตเดตเต†เดฏเตผ

เดฎเตเดฎเตเดชเต, เดนเดพเตผเดกเตโ€Œเดตเต†เดฏเตผ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดคเดฟเดฐเตเดจเตเดจเต Debian 8 เดœเต†เดธเตเดธเดฟ, เด‡เดคเต EOL เดจเต เด…เดŸเตเดคเตเดคเดพเดฃเต. เดฎเตเด•เดณเดฟเตฝ เดชเดฑเดžเตเดž LVM-เดฎเดพเดฏเดฟ เดœเต‹เดŸเดฟเดฏเดพเด•เตเด•เดฟเดฏ HDD-เด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดพเดฃเต เด’เดฐเต RAID 6 เดธเตƒเดทเตเดŸเดฟเดšเตเดšเดคเต. เด…เดคเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเดšเตเดšเตเด•เตŠเดฃเตเดŸเดฟเดฐเตเดจเตเดจเต เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เตป kvm/libvirt-เตฝ.

เดชเต‹เตผเดŸเตเดŸเดฌเดฟเตพ เดฌเต‚เดŸเตเดŸเดฌเดฟเตพ SATA/NVMe เดซเตเดฒเดพเดทเต เดกเตเดฐเตˆเดตเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเตฝ เดฐเดšเดฏเดฟเดคเดพเดตเดฟเดจเต เดชเตเดฐเดธเด•เตเดคเดฎเดพเดฏ เดชเดฐเดฟเดšเดฏเดฎเตเดณเตเดณเดคเดฟเดจเดพเดฒเตเด‚, เดธเดพเดงเดพเดฐเดฃ เด†เดชเตเดฑเตเดฑเต เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเต เดคเด•เตผเด•เตเด•เดพเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเดพเดฏเตเด‚, เดฒเด•เตเดทเตเดฏ เดธเด‚เดตเดฟเดงเดพเดจเด‚ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเดคเตเดคเต. Ubuntu 18.04, เด‡เดคเต เด‡เดคเดฟเดจเด•เด‚ เดคเดจเตเดจเต† เดตเต‡เดฃเตเดŸเดคเตเดฐ เดธเตเดฅเดฟเดฐเดค เด•เตˆเดตเดฐเดฟเดšเตเดšเดฟเดŸเตเดŸเตเดฃเตเดŸเต, เดชเด•เตเดทเต‡ เด‡เดชเตเดชเต‹เดดเตเด‚ 3 เดตเตผเดทเดคเตเดคเต† เดชเดฟเดจเตเดคเตเดฃ เดชเตเดฐเดคเต€เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเต.

เดธเต‚เดšเดฟเดชเตเดชเดฟเดšเตเดš เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเตฝ เดจเดฎเตเด•เตเด•เต เด†เดตเดถเตเดฏเดฎเดพเดฏ เดŽเดฒเตเดฒเดพ เดนเดพเตผเดกเตโ€Œเดตเต†เดฏเตผ เดกเตเดฐเตˆเดตเดฑเตเด•เดณเตเด‚ เดฌเต‹เด•เตโ€Œเดธเดฟเดจเต เดชเตเดฑเดคเตเดคเต เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดžเด™เตเด™เตพเด•เตเด•เต เดฎเต‚เดจเตเดจเดพเด‚ เด•เด•เตเดทเดฟ เดธเต‹เดซเตเดฑเตเดฑเตโ€Œเดตเต†เดฏเดฑเต‹ เดกเตเดฐเตˆเดตเดฑเตเด•เดณเต‹ เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ.

เด‡เตปเดธเตเดฑเตเดฑเดพเดณเต‡เดทเดจเดพเดฏเตเดณเตเดณ เดคเดฏเตเดฏเดพเดฑเต†เดŸเตเดชเตเดชเต

เดธเดฟเดธเตเดฑเตเดฑเด‚ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเดพเตป เดจเดฎเตเด•เตเด•เต เด†เดตเดถเตเดฏเดฎเดพเดฃเต Ubuntu เดกเต†เดธเตเด•เตเดŸเต‹เดชเตเดชเต เด‡เดฎเต‡เดœเต. เดธเต†เตผเดตเตผ เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเต เด’เดฐเตเดคเดฐเด‚ เด•เต‡เตผเดฃเตฝ เด…เดงเดฟเดทเตเด เดฟเดค เด‡เตปเดธเตเดฑเตเดฑเดพเดณเตผ เด‰เดฃเตเดŸเต, เด…เดคเต เด…เดฎเดฟเดคเดฎเดพเดฏ, เดชเตเดฐเดตเตผเดคเตเดคเดจเดฐเดนเดฟเดคเดฎเดพเด•เตเด•เดพเดคเตเดค เดธเตเดตเดฏเด‚เดญเดฐเดฃเด‚ เดชเตเดฐเด•เดŸเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต, เดŽเดฒเตเดฒเดพเดฏเตเดชเตเดชเต‹เดดเตเด‚ UEFI เดธเดฟเดธเตเดฑเตเดฑเด‚ เดชเดพเตผเดŸเตเดŸเต€เดทเตป เดกเตเดฐเตˆเดตเตเด•เดณเดฟเตฝ เด’เดจเตเดจเดฟเดฒเต‡เด•เตเด•เต เดจเต€เด•เตเด•เดฟ, เดฎเตเดดเตเดตเตป เดธเต—เดจเตเดฆเดฐเตเดฏเดคเตเดคเต†เดฏเตเด‚ เดจเดถเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต. เด…เดคเดจเตเดธเดฐเดฟเดšเตเดšเต, เด‡เดคเต UEFI เดฎเต‹เดกเดฟเตฝ เดฎเดพเดคเตเดฐเดฎเต‡ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเต‚. เด‡เดคเต เด“เดชเตเดทเดจเตเด•เดณเตŠเดจเตเดจเตเด‚ เดจเตฝเด•เตเดจเตเดจเดฟเดฒเตเดฒ.

เด‡เดคเดฟเตฝ เดžเด™เตเด™เตพ เดธเดจเตเดคเตเดทเตเดŸเดฐเดฒเตเดฒ.

เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเต?เดจเดฟเตผเดญเดพเด—เตเดฏเดตเดถเดพเตฝ, UEFI เดฌเต‚เดŸเตเดŸเต เดฌเต‚เดŸเตเดŸเต เดธเต‹เดซเตเดฑเตเดฑเตโ€Œเดตเต†เดฏเตผ เดฑเต†เดฏเดฟเดกเตเดฎเดพเดฏเดฟ เดตเดณเดฐเต† เดฎเต‹เดถเดฎเดพเดฏเดฟ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจเดฟเดฒเตเดฒ, เด•เดพเดฐเดฃเด‚... UEFI ESP เดชเดพเตผเดŸเตเดŸเต€เดทเดจเดพเดฏเดฟ เด†เดฐเตเด‚ เดžเด™เตเด™เตพเด•เตเด•เต เดฑเดฟเดธเตผเดตเต‡เดทเดจเตเด•เตพ เดตเดพเด—เตเดฆเดพเดจเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดฟเดฒเตเดฒ. เด’เดฐเต เดฏเตเดŽเดธเตเดฌเดฟ เดชเต‹เตผเดŸเตเดŸเดฟเตฝ เด’เดฐเต เดซเตเดฒเดพเดทเต เดกเตเดฐเตˆเดตเดฟเตฝ ESP เดชเดพเตผเดŸเตเดŸเต€เดทเตป เดธเตเดฅเดพเดชเดฟเด•เตเด•เดพเตป เดจเดฟเตผเดฆเตเดฆเต‡เดถเดฟเด•เตเด•เตเดจเตเดจ เดชเดพเดšเด•เด•เตเด•เตเดฑเดฟเดชเตเดชเตเด•เตพ เด‡เดจเตเดฑเตผเดจเต†เดฑเตเดฑเดฟเตฝ เด‰เดฃเตเดŸเต, เดŽเดจเตเดจเดพเตฝ เด‡เดคเต เดชเดฐเดพเดœเดฏเดคเตเดคเดฟเดจเตเดฑเต† เด’เดฐเต เดชเต‹เดฏเดฟเดจเตเดฑเดพเดฃเต. เดˆ เดชเดพเตผเดŸเตเดŸเต€เดทเตป เด•เดพเดฃเตเดจเตเดจเดคเดฟเตฝ เดจเดฟเดจเตเดจเต UEFI BIOS-เดจเต† เดคเดŸเดฏเดพเดคเตเดค, เดฎเต†เดฑเตเดฑเดพเดกเดพเดฑเตเดฑ เดชเดคเดฟเดชเตเดชเต 1 เด‰เดณเตเดณ mdadm RAID 0.9 เดŽเดจเตเดจ เดธเต‹เดซเตเดฑเตเดฑเตโ€Œเดตเต†เดฏเตผ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดชเดพเดšเด•เด•เตเด•เตเดฑเดฟเดชเตเดชเตเด•เตพ เด‰เดฃเตเดŸเต, เดŽเดจเตเดจเดพเตฝ BIOS เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฎเดฑเตเดฑเตŠเดฐเต เดนเดพเตผเดกเตโ€Œเดตเต†เดฏเตผ OS ESP-เดฒเต‡เด•เตเด•เต เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดŽเดดเตเดคเตเด•เดฏเตเด‚ เด…เดคเต เดฎเดฑเตเดฑเตŠเดจเตเดจเตเดฎเดพเดฏเดฟ เดธเดฎเดจเตเดตเดฏเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เดฎเดฑเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจ เดธเดจเตเดคเต‹เดท เดจเดฟเดฎเดฟเดทเด‚ เดตเดฐเต† เด‡เดคเต เดจเดฟเดฒเดจเดฟเตฝเด•เตเด•เตเดจเตเดจเต. เด•เดฃเตเดฃเดพเดŸเดฟเด•เตพ.

เด•เต‚เดŸเดพเดคเต†, UEFI เดฌเต‚เดŸเตเดŸเต NVRAM-เดจเต† เด†เดถเตเดฐเดฏเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเต เดกเดฟเดธเตเด•เตเด•เตพเด•เตเด•เตŠเดชเตเดชเด‚ เดชเตเดคเดฟเดฏ เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดจเต€เด™เตเด™เดฟเดฒเตเดฒ, เด•เดพเดฐเดฃเด‚ เดฎเดฆเตผเดฌเต‹เตผเดกเดฟเดจเตเดฑเต† เดญเดพเด—เดฎเดพเดฃเต.

เด…เดคเดฟเดจเดพเตฝ, เดžเด™เตเด™เตพ เด’เดฐเต เดชเตเดคเดฟเดฏ เดšเด•เตเดฐเด‚ เดชเตเดจเตผเดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดฟเดฒเตเดฒ. UEFI-เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฏ เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เดณเดฟเตฝ CSM เดŽเดจเตเดจ เด…เดญเดฟเดฎเดพเดจเด•เดฐเดฎเดพเดฏ เดชเต‡เดฐเต เดตเดนเดฟเด•เตเด•เตเดจเตเดจ, เด‡เดชเตเดชเต‹เตพ เดฒเต†เด—เดธเดฟ/เดฌเดฏเต‹เดธเต เดฌเต‚เดŸเตเดŸเต เดŽเดจเตเดจเต เดตเดฟเดณเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจ เด’เดฐเต เดฑเต†เดกเดฟเดฎเต†เดฏเตเดกเต, เดŸเตˆเด‚-เดŸเต†เดธเตเดฑเตเดฑเต เดšเต†เดฏเตเดค เดฎเตเดคเตเดคเดšเตเด›เดจเตเดฑเต† เดฌเตˆเด•เตเด•เต เดžเด™เตเด™เดณเตเดŸเต† เดชเด•เตเด•เดฒเตเดฃเตเดŸเต. เดžเด™เตเด™เตพ เด…เดคเต เดทเต†เตฝเดซเดฟเตฝ เดจเดฟเดจเตเดจเต เดŽเดŸเตเดคเตเดคเต เดฒเต‚เดฌเตเดฐเดฟเด•เตเด•เต‡เดฑเตเดฑเต เดšเต†เดฏเตเดคเต เดŸเดฏเดฑเตเด•เตพ เดชเดฎเตเดชเต เดšเต†เดฏเตเดคเต เดจเดจเดžเตเดž เดคเตเดฃเดฟ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดคเตเดŸเดฏเตเด•เตเด•เตเด‚.

เดกเต†เดธเตเด•เตเดŸเต‹เดชเตเดชเต เดชเดคเดฟเดชเตเดชเต Ubuntu เดฒเต†เด—เดธเดฟ เดฌเต‚เดŸเตเดŸเตโ€Œเดฒเต‹เดกเดฑเดฟเดฒเตเด‚ เด‡เดคเต เดถเดฐเดฟเดฏเดพเดฏเดฟ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเดจเตเดจเดฟเดฒเตเดฒ, เดชเด•เตเดทเต‡ เด•เตเดฑเดžเตเดžเดคเต เด…เดตเตผ เดชเดฑเดฏเตเดจเตเดจเดคเตเดชเต‹เดฒเต† เด“เดชเตเดทเดจเตเด•เดณเต†เด™เตเด•เดฟเดฒเตเด‚ เด‰เดฃเตเดŸเต.

เด…เดคเดฟเดจเดพเตฝ, เดจเดฎเตเดฎเตพ เดนเดพเตผเดกเตโ€Œเดตเต†เดฏเตผ เด•เต‚เดŸเตเดŸเดฟเดšเตเดšเต‡เตผเด•เตเด•เตเด•เดฏเตเด‚ เดฌเต‚เดŸเตเดŸเดฌเดฟเตพ เดซเตเดฒเดพเดทเต เดกเตเดฐเตˆเดตเดฟเตฝ เดจเดฟเดจเตเดจเต เดธเดฟเดธเตเดฑเตเดฑเด‚ เดฌเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. Ubuntu เดฒเตˆเดตเต. เดจเดฎเตเด•เตเด•เต เดชเดพเด•เตเด•เต‡เดœเตเด•เตพ เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต, เด…เดคเดฟเดจเดพเตฝ เดจเดฟเด™เตเด™เตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฎเตเด•เตเด•เต เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เดพเด‚. เด…เด™เตเด™เดจเต† เดธเด‚เดญเดตเดฟเดšเตเดšเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฎเตเตปเด•เต‚เดŸเตเดŸเดฟ เด’เดฐเต เดซเตเดฒเดพเดทเต เดกเตเดฐเตˆเดตเดฟเดฒเต‡เด•เตเด•เต เด†เดตเดถเตเดฏเดฎเดพเดฏ เดชเดพเด•เตเด•เต‡เดœเตเด•เตพ เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตเดฏเดพเด‚.

เดžเด™เตเด™เตพ เดกเต†เดธเตโ€Œเด•เตโ€ŒเดŸเต‹เดชเตเดชเต เดชเดฐเดฟเดคเดธเตเดฅเดฟเดคเดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เดฏเดฟ, เดŸเต†เตผเดฎเดฟเดจเตฝ เดŽเดฎเตเดฒเต‡เดฑเตเดฑเตผ เดธเดฎเดพเดฐเด‚เดญเดฟเด•เตเด•เตเด•, เดคเตเดŸเตผเดจเตเดจเต เดžเด™เตเด™เตพ เดชเต‹เด•เตเดจเตเดจเต:

#sudo bash

เดŽเด™เตเด™เดจเต†โ€ฆ?เดธเตเดกเต‹เดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดนเต‹เดณเดฟเดตเดพเดฑเตเด•เตพเด•เตเด•เตเดณเตเดณ เด•เดพเดจเต‹เดจเดฟเด•เตเด•เตฝ เดŸเตเดฐเดฟเด—เดฑเดพเดฃเต เดฎเตเด•เดณเดฟเดฒเตเดณเตเดณ เดตเดฐเดฟ. เดธเดฟ เดฌเดฟะพเด•เต‚เดŸเตเดคเตฝ เด…เดตเดธเดฐเด™เตเด™เตพ เดตเดฐเตเดจเตเดจเตะพเดตเดฒเดฟเดฏ เด‰เดคเตเดคเดฐเดตเดพเดฆเดฟเดคเตเดคเด‚. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด…เดคเต เดธเตเดตเดฏเด‚ เดเดฑเตเดฑเต†เดŸเตเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเดฎเต‹ เดŽเดจเตเดจเดคเดพเดฃเต เดšเต‹เดฆเตเดฏเด‚. เดธเตเดกเต‹ เดˆ เดฐเต€เดคเดฟเดฏเดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต เด…เตฝเดชเด‚ เดถเตเดฐเดฆเตเดงเดฟเดšเตเดšเดฟเดฒเตเดฒเต†เดจเตเดจเดพเดฃเต เดชเดฒเดฐเตเด‚ เด•เดฐเตเดคเตเดจเตเดจเดคเต. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚:

เดตเต€เดกเดฟเดฏเต‹ เดชเตเดฒเต‡ เดšเต†เดฏเตเดฏเตเด•

#apt-get install mdadm lvm2 thin-provisioning-tools btrfs-tools util-linux lsscsi nvme-cli mc

เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเต ZFS เด…เดฒเตเดฒ...?เดžเด™เตเด™เดณเตเดŸเต† เด•เดฎเตเดชเตเดฏเต‚เดŸเตเดŸเดฑเดฟเตฝ เดธเต‹เดซเตโ€Œเดฑเตเดฑเตโ€Œเดตเต†เดฏเตผ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ, เดˆ เดธเต‹เดซเตเดฑเตเดฑเตโ€Œเดตเต†เดฏเดฑเดฟเดจเตเดฑเต† เดกเต†เดตเดฒเดชเตเดชเตผเดฎเดพเตผเด•เตเด•เต เดกเตเดฐเตˆเดตเต เดšเต†เดฏเตเดฏเดพเดจเดพเดฏเดฟ เดžเด™เตเด™เดณเตเดŸเต† เดนเดพเตผเดกเตโ€Œเดตเต†เดฏเตผ เดžเด™เตเด™เตพ เด•เดŸเด‚ เด•เตŠเดŸเตเด•เตเด•เตเดจเตเดจเต.
เดžเด™เตเด™เดณเตเดŸเต† เดกเดพเดฑเตเดฑเดฏเตเดŸเต† เดธเตเดฐเด•เตเดทเดฟเดคเดคเตเดตเดคเตเดคเต‹เดŸเต† เดˆ เดธเต‹เดซเตเดฑเตเดฑเตโ€Œเดตเต†เดฏเดฑเดฟเดจเต† เดžเด™เตเด™เตพ เดตเดฟเดถเตเดตเดธเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, เดˆ เดกเดพเดฑเตเดฑ เดชเตเดจเดƒเดธเตเดฅเดพเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดšเต†เดฒเดตเดฟเดจเต เดคเตเดฒเตเดฏเดฎเดพเดฏ เดฒเต‹เตบ เดžเด™เตเด™เตพ เดŽเดŸเตเด•เตเด•เตเดจเตเดจเต, เด…เดคเต เดŽเดจเตเดจเต†เด™เตเด•เดฟเดฒเตเด‚ เดžเด™เตเด™เตพ เด…เดŸเดšเตเดšเตเดคเต€เตผเด•เตเด•เต‡เดฃเตเดŸเดฟเดตเดฐเตเด‚.

เดˆ เดตเต€เด•เตเดทเดฃเด•เต‹เดฃเดฟเตฝ, ZFS เด’เดฐเต เดซเต†เดฐเดพเดฐเดฟเดฏเดพเดฃเต, mdadm+lvm เด’เดฐเต เดธเตˆเด•เตเด•เดฟเตพ เดชเต‹เดฒเต†เดฏเดพเดฃเต.

เด†เดคเตเดฎเดจเดฟเดทเตเด เดฎเดพเดฏเดฟ, เดซเต†เดฐเดพเดฐเดฟเด•เตเด•เต เดชเด•เดฐเด‚ เด…เดœเตเดžเดพเดคเดฐเดพเดฏ เดตเตเดฏเด•เตเดคเดฟเด•เตพเด•เตเด•เต เด•เตเดฐเต†เดกเดฟเดฑเตเดฑเดฟเตฝ เด’เดฐเต เดฌเตˆเด•เตเด•เต เด•เดŸเด‚ เด•เตŠเดŸเตเด•เตเด•เดพเดจเดพเดฃเต เดฐเดšเดฏเดฟเดคเดพเดตเต เด‡เดทเตเดŸเดชเตเดชเต†เดŸเตเดจเตเดจเดคเต. เด…เดตเดฟเดŸเต†, เด‡เดทเตเดฏเตเดตเดฟเดจเตเดฑเต† เดตเดฟเดฒ เด‰เดฏเตผเดจเตเดจเดคเดฒเตเดฒ. เด…เดตเด•เดพเดถเด™เตเด™เตพ เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ. เดŸเตเดฐเดพเดซเดฟเด•เต เดจเดฟเดฏเดฎเด™เตเด™เดณเต‡เด•เตเด•เดพเตพ เดฒเดณเดฟเดคเดฎเดพเดฃเต. เดชเดพเตผเด•เตเด•เดฟเด‚เด—เต เดธเต—เดœเดจเตเดฏเดฎเดพเดฃเต. เด•เตเดฐเต‹เดธเต-เด•เตบเดŸเตเดฐเดฟ เด•เดดเดฟเดตเต เดฎเดฟเด•เดšเตเดšเดคเดพเดฃเต. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดŽเดฒเตเดฒเดพเดฏเตเดชเตเดชเต‹เดดเตเด‚ เด’เดฐเต เดธเตˆเด•เตเด•เดฟเดณเดฟเตฝ เด•เดพเดฒเตเด•เตพ เด…เดฑเตเดฑเดพเดšเตเดšเตเดšเต†เดฏเตเดฏเดพเด‚, เดจเดฟเด™เตเด™เดณเตเดŸเต† เดธเตเดตเดจเตเดคเด‚ เด•เตˆเด•เตŠเดฃเตเดŸเต เด’เดฐเต เดธเตˆเด•เตเด•เดฟเตพ เดจเดจเตเดจเดพเด•เตเด•เดพเด‚.

เดชเดฟเดจเตเดจเต†เดจเตเดคเดฟเดจเดพ BTRFS...?เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเดฟเด‚เด—เต เดธเดฟเดธเตเดฑเตเดฑเด‚ เดฌเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เดฌเต‹เด•เตโ€Œเดธเดฟเดจเต เดชเตเดฑเดคเตเดคเต เดฒเต†เด—เดธเดฟ/เดฌเดฏเต‹เดธเต เด—เตเดฐเดฌเต เดชเดฟเดจเตเดคเตเดฃเดฏเตโ€Œเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดซเดฏเตฝ เดธเดฟเดธเตเดฑเตเดฑเด‚ เด†เดตเดถเตเดฏเดฎเดพเดฃเต, เด…เดคเต‡ เดธเดฎเดฏเด‚ เดฒเตˆเดตเต เดธเตโ€Œเดจเดพเดชเตเดชเตโ€Œเดทเต‹เดŸเตเดŸเตเด•เดณเต† เดชเดฟเดจเตเดคเตเดฃเดฏเตโ€Œเด•เตเด•เตเดจเตเดจเต. /boot เดชเดพเตผเดŸเตเดŸเต€เดทเดจเดพเดฏเดฟ เดžเด™เตเด™เตพ เด‡เดคเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด‚. เด•เต‚เดŸเดพเดคเต†, / (เดฑเต‚เดŸเตเดŸเต) เดŽเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ เดˆ เดŽเดซเตเดŽเดธเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เดฐเดšเดฏเดฟเดคเดพเดตเต เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดชเตเดชเต†เดŸเตเดจเตเดจเต, เดฎเดฑเตเดฑเต‡เดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดธเต‹เดซเตโ€Œเดฑเตเดฑเตโ€Œเดตเต†เดฏเดฑเดฟเดจเดพเดฏเดฟ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดŽเตฝเดตเดฟเดŽเดฎเตเดฎเดฟเตฝ เดชเตเดฐเดคเตเดฏเต‡เด• เดชเดพเตผเดŸเตเดŸเต€เดทเดจเตเด•เตพ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เดพเดจเตเด‚ เด†เดตเดถเตเดฏเดฎเดพเดฏ เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟเด•เดณเดฟเตฝ เด…เดต เดฎเตŒเดฃเตเดŸเต เดšเต†เดฏเตเดฏเดพเดจเตเด‚ เด•เดดเดฟเดฏเตเดฎเต†เดจเตเดจ เด•เดพเดฐเตเดฏเด‚ เดฎเดฑเด•เตเด•เดฐเตเดคเต.

เดšเดฟเดคเตเดฐเด™เตเด™เดณเตŠเดจเตเดจเตเดฎเดฟเดฒเตเดฒ เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เดจเตเด•เตพ, เดˆ เดซเดฏเตฝ เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเตฝ เดžเด™เตเด™เตพ เด’เดฐเต เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเตเด•เดณเตเด‚ เดธเด‚เดญเดฐเดฟเด•เตเด•เดฟเดฒเตเดฒ.
เดธเดฟเดธเตเดฑเตเดฑเด‚ เด“เดซเต เดšเต†เดฏเตเดฏเดพเดคเต† เดคเดจเตเดจเต† เดธเตโ€Œเดจเดพเดชเตเดชเตเดทเต‹เดŸเตเดŸเตเด•เตพ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เดพเตป เดฎเดพเดคเตเดฐเดฎเต‡ เดˆ เดŽเดซเตเดŽเดธเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เต‚, เดคเตเดŸเตผเดจเตเดจเต เดˆ เดธเตโ€Œเดจเดพเดชเตเดชเตโ€Œเดทเต‹เดŸเตเดŸเตเด•เตพ เด…เดฏเดฏเตเด•เตเด•เตเด•/เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เตเด• เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด’เดฐเต เดฌเดพเด•เตเด•เดชเตเดชเต เดกเดฟเดธเตโ€Œเด•เดฟเดฒเต‡เด•เตเด•เต เดฎเดพเดฑเตเดฑเตเด•.

เด•เต‚เดŸเดพเดคเต†, เดฐเดšเดฏเดฟเดคเดพเดตเต เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เดนเดพเตผเดกเตโ€Œเดตเต†เดฏเดฑเดฟเตฝ เด’เดฐเต เดฎเดฟเดจเดฟเดฎเด‚ เดธเต‹เดซเตโ€Œเดฑเตเดฑเตโ€Œเดตเต†เดฏเตผ เดธเต‚เด•เตเดทเดฟเด•เตเด•เดพเดจเตเด‚ IOMMU เดตเดดเดฟ KVM-เดฒเต‡เด•เตเด•เต GPU-เด•เดณเตเด‚ PCI-USB เดนเต‹เดธเตเดฑเตเดฑเต เด•เตบเดŸเตเดฐเต‹เดณเดฑเตเด•เดณเตเด‚ เดซเต‹เตผเดตเต‡เดกเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เดชเต‹เดฒเต†เดฏเตเดณเตเดณ เด•เดพเดฐเตเดฏเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เดจเตเด•เดณเดฟเตฝ เดฎเดฑเตเดฑเต†เดฒเตเดฒเดพ เดธเต‹เดซเตเดฑเตเดฑเตโ€Œเดตเต†เดฏเดฑเตเด•เดณเตเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เดพเดจเตเด‚ เดคเดพเตฝเดชเตเดชเดฐเตเดฏเดชเตเดชเต†เดŸเตเดจเตเดจเต.

เดกเดพเดฑเตเดฑ เดธเด‚เดญเดฐเดฃเด‚, เดตเดฟเตผเดšเตเดšเตเดตเดฒเตˆเดธเต‡เดทเตป, เดฌเดพเด•เตเด•เดชเตเดชเต เดŽเดจเตเดจเดฟเดต เดฎเดพเดคเตเดฐเดฎเดพเดฃเต เดนเดพเตผเดกเตโ€Œเดตเต†เดฏเดฑเดฟเตฝ เด…เดตเดถเต‡เดทเดฟเด•เตเด•เตเดจเตเดจเดคเต.

เดจเดฟเด™เตเด™เตพ ZFS-เดจเต† เด•เต‚เดŸเตเดคเตฝ เดตเดฟเดถเตเดตเดธเดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เด™เตเด•เดฟเตฝ, เดคเดคเตเดตเดคเตเดคเดฟเตฝ, เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเดŸ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเดพเดฏเดฟ เด…เดต เดชเดฐเดธเตเดชเดฐเด‚ เดฎเดพเดฑเตเดฑเดพเดตเตเดจเตเดจเดคเดพเดฃเต.

เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, ZFS, BRTFS, LVM เดŽเดจเตเดจเดฟเดตเดฏเตเด•เตเด•เตเดณเตเดณ เดฌเดฟเตฝเดฑเตเดฑเต-เด‡เตป เดฎเดฟเดฑเดฑเดฟเด‚เด—เต/RAID, เดฑเดฟเดกเตปเดกเตปเดธเดฟ เดซเต€เดšเตเดšเดฑเตเด•เตพ เดŽเดจเตเดจเดฟเดต เดฐเดšเดฏเดฟเดคเดพเดตเต เดฌเต‹เดงเดชเต‚เตผเดตเตเดตเด‚ เด…เดตเด—เดฃเดฟเด•เตเด•เตเดจเตเดจเต.

เด’เดฐเต เด…เดงเดฟเด• เดตเดพเดฆเดฎเต†เดจเตเดจ เดจเดฟเดฒเดฏเดฟเตฝ, เด•เตเดฐเดฎเดฐเดนเดฟเดคเดฎเดพเดฏ เดฑเตˆเดฑเตเดฑเตเด•เดณเต† เดคเตเดŸเตผเดšเตเดšเดฏเดพเดฏเดตเดฏเดพเด•เตเด•เดฟ เดฎเดพเดฑเตเดฑเดพเดจเตเดณเตเดณ เด•เดดเดฟเดตเต 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

เดกเดฟเดธเตเด•เต เดฒเต‡เด”เดŸเตเดŸเต

NVMe SSD

เดŽเดจเตเดจเดพเตฝ เดžเด™เตเด™เตพ เด…เดตเดฏเต† เด’เดฐเต เดคเดฐเดคเตเดคเดฟเดฒเตเด‚ เด…เดŸเดฏเดพเดณเดชเตเดชเต†เดŸเตเดคเตเดคเตเด•เดฏเดฟเดฒเตเดฒ. เดŽเดฒเตเดฒเดพเดคเตเดคเดฟเดจเตเดฎเตเดชเดฐเดฟ, เดžเด™เตเด™เดณเตเดŸเต† BIOS เดˆ เดกเตเดฐเตˆเดตเตเด•เตพ เด•เดพเดฃเตเดจเตเดจเดฟเดฒเตเดฒ. เด…เดคเดฟเดจเดพเตฝ, เด…เดตเตผ เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดธเต‹เดซเตเดฑเตเดฑเตเดตเต†เดฏเตผ เดฑเต†เดฏเดฟเดกเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เด•เตเด‚. เดžเด™เตเด™เตพ เด…เดตเดฟเดŸเต† เดตเดฟเดญเดพเด—เด™เตเด™เตพ เดชเต‹เดฒเตเด‚ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดฟเดฒเตเดฒ. เดจเดฟเด™เตเด™เตพเด•เตเด•เต "เด•เดพเดจเต‹เตป" เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ "เดชเตเดฐเดฟเตปเดธเดฟเดชเตเดชเดฒเดฟ" เดชเดฟเดจเตเดคเตเดŸเดฐเดฃเดฎเต†เด™เตเด•เดฟเตฝ, HDD เดชเต‹เดฒเต† เด’เดฐเต เดตเดฒเดฟเดฏ เดชเดพเตผเดŸเตเดŸเต€เดทเตป เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด•.

เดธเดพเดฑเตเดฑ เดŽเดšเตเดšเตเดกเดฟเดกเดฟ

เด‡เดตเดฟเดŸเต† เดชเตเดฐเดคเตเดฏเต‡เด•เดฟเดšเตเดšเต เด’เดจเตเดจเตเด‚ เด•เดฃเตเดŸเตเดชเดฟเดŸเดฟเด•เตเด•เต‡เดฃเตเดŸ เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ. เดŽเดฒเตเดฒเดพเดคเตเดคเดฟเดจเตเด‚ เดžเด™เตเด™เตพ เด’เดฐเต เดตเดฟเดญเดพเด—เด‚ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด‚. เดฌเดฏเต‹เดธเต เดˆ เดกเดฟเดธเตเด•เตเด•เตพ เด•เดพเดฃเตเด•เดฏเตเด‚ เด…เดตเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดฌเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเดพเตป เดถเตเดฐเดฎเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเดพเตฝ เดžเด™เตเด™เตพ เด’เดฐเต เดชเดพเตผเดŸเตเดŸเต€เดทเตป เด‰เดฃเตเดŸเดพเด•เตเด•เตเด‚. เดˆ เดกเดฟเดธเตเด•เตเด•เดณเดฟเตฝ เดžเด™เตเด™เตพ เดชเดฟเดจเตเดจเต€เดŸเต GRUB เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเด‚, เด…เด™เตเด™เดจเต† เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเต เดชเต†เดŸเตเดŸเต†เดจเตเดจเต เด‡เดคเต เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเด‚.

#cat >hdd.part << EOF
label: dos
label-id: 0x00000000
device: /dev/sdg
unit: sectors

/dev/sdg1 : เด†เดฐเด‚เดญเด‚= 2048, เดตเดฒเตเดชเตเดชเด‚= 1953523120, เดคเดฐเด‚=fd, เดฌเต‚เดŸเตเดŸเดฌเดฟเตพ
EOF
#sfเดกเดฟเดธเตเด•เต /dev/sdg <hdd.part
#sfเดกเดฟเดธเตเด•เต /dev/sdh <hdd.part
#sfเดกเดฟเดธเตเด•เต /dev/sdi <hdd.part
#sfเดกเดฟเดธเตเด•เต /dev/sdj <hdd.part
#sfเดกเดฟเดธเตเด•เต /dev/sdk <hdd.part
#sfเดกเดฟเดธเตเด•เต /dev/sdl <hdd.part
#sfเดกเดฟเดธเตเด•เต /dev/sdm <hdd.part
#sfเดกเดฟเดธเตเด•เต /dev/sdn <hdd.part

SATA SSD

เด‡เดตเดฟเดŸเต†เดฏเดพเดฃเต เด•เดพเดฐเตเดฏเด™เตเด™เตพ เดจเดฎเตเด•เตเด•เต เดฐเดธเด•เดฐเดฎเดพเด•เตเดจเตเดจเดคเต.

เด’เดจเตเดจเดพเดฎเดคเดพเดฏเดฟ, เดžเด™เตเด™เดณเตเดŸเต† เดกเตเดฐเตˆเดตเตเด•เตพเด•เตเด•เต 2 TB เดตเดฒเตเดชเตเดชเดฎเตเดฃเตเดŸเต. เด‡เดคเต MBR-เดจเต เดธเตเดตเต€เด•เดพเดฐเตเดฏเดฎเดพเดฏ เดชเดฐเดฟเดงเดฟเด•เตเด•เตเดณเตเดณเดฟเดฒเดพเดฃเต, เด…เดคเดพเดฃเต เดžเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต. เด†เดตเดถเตเดฏเดฎเต†เด™เตเด•เดฟเตฝ, GPT เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเด•เตเด•เดพเด‚. GPT เดกเดฟเดธเตเด•เตเด•เตพเด•เตเด•เต เด’เดฐเต เด•เต‹เด‚เดชเดพเดฑเตเดฑเดฟเดฌเดฟเดฒเดฟเดฑเตเดฑเดฟ เดฒเต†เดฏเตผ เด‰เดฃเตเดŸเต, เด…เดคเต MBR-เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฏ เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เดณเต† เด†เดฆเตเดฏเดคเตเดคเต† 4 เดชเดพเตผเดŸเตเดŸเต€เดทเดจเตเด•เตพ เด†เดฆเตเดฏ 2 เดŸเต†เดฑเดพเดฌเตˆเดฑเตเดฑเดฟเดจเตเดณเตเดณเดฟเตฝ เด†เดฃเต†เด™เตเด•เดฟเตฝ เด…เดต เด•เดพเดฃเดพเตป เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต. เดˆ เดกเดฟเดธเตเด•เตเด•เดณเดฟเดฒเต† เดฌเต‚เดŸเตเดŸเต เดชเดพเตผเดŸเตเดŸเต€เดทเดจเตเด‚ bios_grub เดชเดพเตผเดŸเตเดŸเต€เดทเดจเตเด‚ เดคเตเดŸเด•เตเด•เดคเตเดคเดฟเตฝ เดคเดจเตเดจเต† เด†เดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚ เดŽเดจเตเดจเดคเดพเดฃเต เดชเตเดฐเดงเดพเดจ เด•เดพเดฐเตเดฏเด‚. เดœเดฟเดชเดฟเดŸเดฟ เดฒเต†เด—เดธเดฟ/เดฌเดฏเต‹เดธเต เดกเตเดฐเตˆเดตเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดฌเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเดพเตป เดชเต‹เดฒเตเด‚ เด‡เดคเต เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต.

เดŽเดจเตเดจเดพเตฝ เด‡เดคเต เดžเด™เตเด™เดณเตเดŸเต† เด•เดพเดฐเตเดฏเดฎเดฒเตเดฒ.

เด‡เดตเดฟเดŸเต† เดจเดฎเตเดฎเตพ เดฐเดฃเตเดŸเต เดตเดฟเดญเดพเด—เด™เตเด™เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด‚. เด†เดฆเตเดฏเดคเตเดคเต‡เดคเต 1 GB เดตเดฒเตเดชเตเดชเดฎเตเดณเตเดณเดคเตเด‚ RAID 1 /boot-เดจเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเตเดฎเดพเดฃเต.

เดฐเดฃเตเดŸเดพเดฎเดคเตเดคเต‡เดคเต RAID 6-เดจเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด‚ เด•เต‚เดŸเดพเดคเต† เดกเตเดฐเตˆเดตเดฟเดจเตเดฑเต† เด…เดตเดธเดพเดจเดคเตเดคเดฟเตฝ เด…เดจเตเดตเดฆเดฟเด•เตเด•เดพเดคเตเดค เด’เดฐเต เดšเต†เดฑเดฟเดฏ เดเดฐเดฟเดฏ เด’เดดเดฟเด•เต† เดฌเดพเด•เตเด•เดฟเดฏเตเดณเตเดณ เดŽเดฒเตเดฒเดพ เดธเตเดฅเดฒเดตเตเด‚ เดŽเดŸเตเด•เตเด•เตเด‚.

เดŽเดจเตเดคเดพเดฃเต เดˆ เด…เดŸเดฏเดพเดณเดชเตเดชเต†เดŸเตเดคเตเดคเดพเดคเตเดค เดชเตเดฐเดฆเต‡เดถเด‚?เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เดฟเดฒเต† เดธเตเดฐเต‹เดคเดธเตเดธเตเด•เตพ เด…เดจเตเดธเดฐเดฟเดšเตเดšเต, เดžเด™เตเด™เดณเตเดŸเต† SATA SSD-เด•เตพเด•เตเด•เต 6 เดฎเตเดคเตฝ 78 เดœเดฟเด—เดพเดฌเตˆเดฑเตเดฑเต เดตเดฐเต† เดตเดฒเตเดชเตเดชเดฎเตเดณเตเดณ เดšเดฒเดจเดพเดคเตเดฎเด•เดฎเดพเดฏเดฟ เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเด•เตเด•เดพเดตเตเดจเตเดจ SLC เด•เดพเดทเต† เด‰เดฃเตเดŸเต. เดกเตเดฐเตˆเดตเดฟเดจเตเดฑเต† เดกเดพเดฑเตเดฑ เดทเต€เดฑเตเดฑเดฟเดฒเต† "เดœเดฟเด—เดพเดฌเตˆเดฑเตเดฑเต", "เดœเดฟเดฌเดฟเดฌเตˆเดฑเตเดฑเต" เดŽเดจเตเดจเดฟเดต เดคเดฎเตเดฎเดฟเดฒเตเดณเตเดณ เดตเตเดฏเดคเตเดฏเดพเดธเด‚ เด•เดพเดฐเดฃเด‚ เดจเดฎเตเด•เตเด•เต 6 เดœเดฟเด—เดพเดฌเตˆเดฑเตเดฑเต "เดธเต—เดœเดจเตเดฏเดฎเดพเดฏเดฟ" เดฒเดญเดฟเด•เตเด•เตเด‚. เดถเต‡เดทเดฟเด•เตเด•เตเดจเตเดจ 72 เดœเดฟเด—เดพเดฌเตˆเดฑเตเดฑเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดคเตเดค เดธเตเดฅเดฒเดคเตเดคเต เดจเดฟเดจเตเดจเต เด…เดจเตเดตเดฆเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

เด‡เดตเดฟเดŸเต† เดจเดฎเตเด•เตเด•เต เด’เดฐเต SLC เด•เดพเดทเต† เด‰เดฃเตเดŸเต†เดจเตเดจเต เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเดพเดฃเต, เด•เต‚เดŸเดพเดคเต† เดธเตเดฅเดฒเด‚ 4 เดฌเดฟเดฑเตเดฑเต MLC เดฎเต‹เดกเดฟเตฝ เด‰เตพเด•เตเด•เตŠเดณเตเดณเตเดจเตเดจเต. เดžเด™เตเด™เดณเต† เดธเด‚เดฌเดจเตเดงเดฟเดšเตเดšเดฟเดŸเดคเตเดคเต‹เดณเด‚ เดซเดฒเดชเตเดฐเดฆเดฎเดพเดฏเดฟ เด…เตผเดคเตเดฅเดฎเดพเด•เตเด•เตเดจเตเดจเดคเต เด“เดฐเต‹ 4 เดœเดฟเด—เดพเดฌเตˆเดฑเตเดฑเต เดถเต‚เดจเตเดฏเดฎเดพเดฏ เด‡เดŸเดคเตเดคเดฟเดจเตเด‚ เดžเด™เตเด™เตพเด•เตเด•เต 1 เดœเดฟเด—เดพเดฌเตˆเดฑเตเดฑเต SLC เด•เดพเดทเต† เดฎเดพเดคเตเดฐเดฎเต‡ เดฒเดญเดฟเด•เตเด•เต‚ เดŽเดจเตเดจเดพเดฃเต.

72 เดœเดฟเด—เดพเดฌเตˆเดฑเตเดฑเดฟเดจเต† 4 เด•เตŠเดฃเตเดŸเต เด—เตเดฃเดฟเดšเตเดšเดพเตฝ 288 เดœเดฟเด—เดพเดฌเตˆเดฑเตเดฑเต เดจเต‡เดŸเต‚. SLC เด•เดพเดทเต† เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดกเตเดฐเตˆเดตเตเด•เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ เดžเด™เตเด™เตพ เด…เดŸเดฏเดพเดณเดชเตเดชเต†เดŸเตเดคเตเดคเดพเดคเตเดค เดธเตเดตเดคเดจเตเดคเตเดฐ เด‡เดŸเดฎเดพเดฃเดฟเดคเต.

เด…เด™เตเด™เดจเต†, เดฎเตŠเดคเตเดคเด‚ เด†เดฑเต เดกเตเดฐเตˆเดตเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต 312 เดœเดฟเด—เดพเดฌเตˆเดฑเตเดฑเต เดŽเดธเตเดŽเตฝเดธเดฟ เด•เดพเดทเต† เดจเดฎเตเด•เตเด•เต เดซเดฒเดชเตเดฐเดฆเดฎเดพเดฏเดฟ เดฒเดญเดฟเด•เตเด•เตเด‚. เดŽเดฒเตเดฒเดพ เดกเตเดฐเตˆเดตเตเด•เดณเดฟเดฒเตเด‚, 2 เดŽเดฃเตเดฃเด‚ เด†เดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดจเดพเดฏเดฟ RAID-เตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด‚.

เดˆ เด•เดพเดทเต†เดฏเตเดŸเต† เด…เดณเดตเต เดฏเดฅเดพเตผเดคเตเดฅ เดœเต€เดตเดฟเดคเดคเตเดคเดฟเตฝ เดตเดณเดฐเต† เด…เดชเต‚เตผเดตเตเดตเดฎเดพเดฏเดฟ เด’เดฐเต เดŽเดดเตเดคเตเดคเต เด•เดพเดทเต†เดฏเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เด•เดพเดคเตเดค เด’เดฐเต เดธเดพเดนเดšเดฐเตเดฏเด‚ เดจเต‡เดฐเดฟเดŸเดพเตป เดจเดฎเตเดฎเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเด‚. เด•เตเดฏเตเดŽเตฝเดธเดฟ เดฎเต†เดฎเตเดฎเดฑเดฟเดฏเตเดŸเต† เดเดฑเตเดฑเดตเตเด‚ เดฆเตเด–เด•เดฐเดฎเดพเดฏ เดชเต‹เดฐเดพเดฏเตเดฎเดฏเตเด•เตเด•เต เด‡เดคเต เดตเดณเดฐเต† เดจเดจเตเดจเดพเดฏเดฟ เดจเดทเตเดŸเดชเดฐเดฟเดนเดพเดฐเด‚ เดจเตฝเด•เตเดจเตเดจเต - เด•เดพเดทเต† เดฎเดฑเดฟเด•เดŸเดจเตเดจเต เดกเดพเดฑเตเดฑ เดŽเดดเตเดคเตเดฎเตเดชเต‹เตพ เดตเดณเดฐเต† เด•เตเดฑเดžเตเดž เดฑเตˆเดฑเตเดฑเต เดตเต‡เด—เดค. เดจเดฟเด™เตเด™เดณเตเดŸเต† เดฒเต‹เดกเตเด•เตพ เด‡เดคเตเดฎเดพเดฏเดฟ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เดกเดพเดฑเตเดฑเดพ เดทเต€เดฑเตเดฑเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดŸเดฟเดฌเดฟเดกเดฌเตเดฒเตเดฏเต เด•เดฃเด•เตเด•เดฟเดฒเต†เดŸเตเดคเตเดคเต เด…เดคเตเดคเดฐเด‚ เด’เดฐเต เดฒเต‹เดกเดฟเดจเต เด•เต€เดดเดฟเตฝ เดจเดฟเด™เตเด™เดณเตเดŸเต† เดŽเดธเตเดŽเดธเตเดกเดฟ เดŽเดคเตเดฐเดคเตเดคเต‹เดณเด‚ เดจเดฟเดฒเดจเดฟเตฝเด•เตเด•เตเดฎเต†เดจเตเดจเต เดจเดฟเด™เตเด™เตพ เดจเดจเตเดจเดพเดฏเดฟ เดšเดฟเดจเตเดคเดฟเด•เตเด•เดพเตป เดžเดพเตป เดถเตเดชเดพเตผเดถ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

#cat >ssd.part << EOF
label: dos
label-id: 0x00000000
device: /dev/sda
unit: sectors

/dev/sda1 : เด†เดฐเด‚เดญเด‚= 2048, เดตเดฒเตเดชเตเดชเด‚= 2097152, เดคเดฐเด‚=fd, เดฌเต‚เดŸเตเดŸเดฌเดฟเตพ
/dev/sda2 : เด†เดฐเด‚เดญเด‚= 2099200, เดตเดฒเตเดชเตเดชเด‚= 3300950016, เดคเดฐเด‚=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

NVMe SSD

#mdadm --create --verbose --assume-clean /dev/md0 --level=1 --raid-devices=2 /dev/nvme[0-1]n1

เดŽเดจเตเดคเดฟเดจเต-เด‰เดฆเตเดฆเต‡เดถเดฟเด•เตเด•เตเด•-เดถเตเดฆเตเดงเดฟ...?เด…เดฑเต‡เด•เตพ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเดคเต เด’เดดเดฟเดตเดพเด•เตเด•เดพเตป. RAID เดฒเต†เดตเดฒเตเด•เตพ 1 เดจเตเด‚ 6 เดจเตเด‚ เด‡เดคเต เดธเดพเดงเตเดคเดฏเตเดณเตเดณเดคเดพเดฃเต. เด’เดฐเต เดชเตเดคเดฟเดฏ เด…เดฑเต‡ เด†เดฃเต†เด™เตเด•เดฟเตฝ เดŽเดฒเตเดฒเดพเด‚ เด†เดฐเด‚เดญเดฟเด•เตเด•เดพเดคเต† เดคเดจเตเดจเต† เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚. เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เดŽเดธเตเดŽเดธเตเดกเดฟ เด…เดฑเต‡ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเดคเต เดŸเดฟเดฌเดฟเดกเดฌเตเดฒเตเดฏเต เดฑเดฟเดธเต‹เดดเตเดธเต เดชเดพเดดเดพเด•เตเด•เตเดจเตเดจเดคเดพเดฃเต. เด…เดธเด‚เดฌเดฟเตพ เดšเต†เดฏเตโ€Œเดค SSD เด…เดฑเต‡เด•เดณเดฟเตฝ โ€œเด‡เดจเดฟเดทเตเดฏเดฒเตˆเดธเตโ€ เดšเต†เดฏเตเดฏเดพเตป เดžเด™เตเด™เตพ TRIM/DISCARD เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต.

SSD เด…เดฑเต‡เด•เตพเด•เตเด•เดพเดฏเดฟ, RAID 1 เดกเดฟเดธเตโ€Œเด•เดพเตผเดกเต เดฌเต‹เด•เตโ€Œเดธเดฟเดจเต เดชเตเดฑเดคเตเดคเต เดชเดฟเดจเตเดคเตเดฃเดฏเตโ€Œเด•เตเด•เตเดจเตเดจเต.

SSD RAID 6 เดกเดฟเดธเตเด•เดพเตผเดกเต เด…เดฑเต‡เด•เตพเด•เตเด•เดพเดฏเดฟ, เดจเดฟเด™เตเด™เตพ เด…เดคเต เด•เต‡เตผเดฃเตฝ เดฎเตŠเดกเตเดฏเต‚เตพ เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เดณเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เดฃเด‚.

เดˆ เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดฒเต† เดฒเต†เดตเตฝ 4/5/6 เด…เดฑเต‡เด•เดณเดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดŽเดฒเตเดฒเดพ SSD-เด•เตพเด•เตเด•เตเด‚ 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 เดธเด‚เด—เตเดฐเดนเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดธเตเดฅเดฟเดคเดฟเดตเดฟเดตเดฐเด•เตเด•เดฃเด•เตเด•เตเด•เตพ เดชเตเดฐเด•เดพเดฐเด‚, IO เดฏเตเดŸเต† 99% 512K เด•เดตเดฟเดฏเตเดจเตเดจเดฟเดฒเตเดฒ.

เด“เดฐเต‹ เดŽเดดเตเดคเตเดคเดฟเดจเตเด‚ RAID 6 IOPS เดŽเดชเตเดชเต‹เดดเตเด‚ เด’เดฐเต เดกเตเดฐเตˆเดตเดฟเดจเตเดฑเต† IOPS-เดจเต‡เด•เตเด•เดพเตพ เด•เตเดฑเดตเต‹ เดคเตเดฒเตเดฏเดฎเต‹. เด’เดฐเต เด•เตเดฐเดฎเดฐเดนเดฟเดคเดฎเดพเดฏเดฟ เดตเดพเดฏเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ, IOPS เด’เดฐเต เดกเตเดฐเตˆเดตเดฟเดจเต‡เด•เตเด•เดพเตพ เดชเดฒเดฎเดŸเด™เตเด™เต เด•เต‚เดŸเตเดคเดฒเดพเด•เตเดฎเตเดชเต‹เตพ, เด‡เดตเดฟเดŸเต† เดฌเตเดฒเต‹เด•เตเด•เต เดตเดฒเตเดชเตเดชเดคเตเดคเดฟเดจเต เดชเตเดฐเดงเดพเดจ เดชเตเดฐเดพเดงเดพเดจเตเดฏเดฎเตเดฃเตเดŸเต.
RAID 6 เดฌเตˆ-เดกเดฟเดธเตˆเดจเดฟเดฒเต† เดฎเต‹เดถเดฎเดพเดฏ เด’เดฐเต เดชเดพเดฐเดพเดฎเต€เดฑเตเดฑเตผ เด’เดชเตเดฑเตเดฑเดฟเดฎเตˆเดธเต เดšเต†เดฏเตเดฏเดพเตป เดถเตเดฐเดฎเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดฑเต† เด…เตผเดคเตเดฅเด‚ เดฐเดšเดฏเดฟเดคเดพเดตเต เด•เดพเดฃเตเดจเตเดจเดฟเดฒเตเดฒ, เดชเด•เดฐเด‚ RAID 6 เดŽเดจเตเดคเดพเดฃเต เดฎเดฟเด•เดšเตเดšเดคเต†เดจเตเดจเต เด’เดชเตเดฑเตเดฑเดฟเดฎเตˆเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต.
RAID 6-เดจเตเดฑเต† เดฎเต‹เดถเด‚ เดฑเดพเตปเดกเด‚ เดฑเตˆเดฑเตเดฑเต เด’เดฐเต NVMe เด•เดพเดทเต†เดฏเตเด‚ เดจเต‡เตผเดคเตเดค เดชเตเดฐเตŠเดตเดฟเดทเดจเดฟเด‚เด—เต เดคเดจเตเดคเตเดฐเด™เตเด™เดณเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดžเด™เตเด™เตพ เดจเดทเตเดŸเดชเดฐเดฟเดนเดพเดฐเด‚ เดจเตฝเด•เตเด‚.

เดฑเต†เดฏเตเดกเต 6-เดจเดพเดฏเดฟ เดžเด™เตเด™เตพ เด‡เดคเตเดตเดฐเต† เดกเดฟเดธเตเด•เดพเตผเดกเต เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เดฟเดฏเดฟเดŸเตเดŸเดฟเดฒเตเดฒ. เด…เดคเดฟเดจเดพเตฝ เดžเด™เตเด™เตพ เดˆ เด…เดฑเต‡ เด‡เดชเตเดชเต‹เตพ "เด†เดฐเด‚เดญเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ". 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 เด†เดฃเต.
เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดธเตเดตเดพเดชเตเดชเต, เดฎเต†เดฑเตเดฑเดพเดกเดพเดฑเตเดฑ, เดŽเตฝเดตเดฟเดŽเด‚-เด•เดพเดทเต†, เดŽเตฝเดตเดฟเดŽเด‚-เดคเดฟเตป เดฎเต†เดฑเตเดฑเดพเดกเดพเดฑเตเดฑ เดŽเดจเตเดจเดฟเดต เดชเต‹เดฒเตเดณเตเดณ เดฎเดฑเตเดฑเต เด†เดตเดถเตเดฏเด™เตเด™เตพเด•เตเด•เดพเดฏเดฟ เดžเด™เตเด™เตพเด•เตเด•เต เดˆ เดซเดพเดธเตเดฑเตเดฑเต เด…เดฑเต‡ เด†เดตเดถเตเดฏเดฎเดพเดฃเต, เด…เดคเดฟเดจเดพเตฝ เดžเด™เตเด™เตพ เดˆ เด…เดฑเต‡เดฏเดฟเตฝ เด’เดฐเต เดŽเตฝเดตเดฟเดŽเด‚ เดตเดฟเดœเดฟ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด‚.

#pvcreate /dev/md0
#vgcreate root /dev/md0

เดฑเต‚เดŸเตเดŸเต เดซเดฏเตฝ เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเดพเดฏเดฟ เด’เดฐเต เดชเดพเตผเดŸเตเดŸเต€เดทเตป เด‰เดฃเตเดŸเดพเด•เตเด•เดพเด‚.

#lvcreate -L 128G --name root root

เดฑเดพเดฎเดฟเดจเตเดฑเต† เดตเดฒเตเดชเตเดชเดคเตเดคเดฟเดจเดจเตเดธเดฐเดฟเดšเตเดšเต เดธเตเดตเดพเดชเตเดชเดฟเด™เตเด™เดฟเดจเดพเดฏเดฟ เด’เดฐเต เดชเดพเตผเดŸเตเดŸเต€เดทเตป เด‰เดฃเตเดŸเดพเด•เตเด•เดพเด‚.

#lvcreate -L 32G --name swap root

OS เด‡เตปเดธเตเดฑเตเดฑเดพเดณเต‡เดทเตป

เดฎเตŠเดคเตเดคเดคเตเดคเดฟเตฝ, เดธเดฟเดธเตเดฑเตเดฑเด‚ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเดพเตป เด†เดตเดถเตเดฏเดฎเดพเดฏ เดŽเดฒเตเดฒเดพเด‚ เดžเด™เตเด™เดณเตเดŸเต† เดชเด•เตเด•เดฒเตเดฃเตเดŸเต.

เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดธเดฟเดธเตเดฑเตเดฑเด‚ เด‡เตปเดธเตเดฑเตเดฑเดฒเต‡เดทเตป เดตเดฟเดธเดพเตผเดกเต เดธเดฎเดพเดฐเด‚เดญเดฟเด•เตเด•เตเด•. Ubuntu เดฒเตˆเดตเต. เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเต เด‡เตปเดธเตเดฑเตเดฑเดพเดณเต‡เดทเตป. เดกเดฟเดธเตเด•เต เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตฝ เด˜เดŸเตเดŸเดคเตเดคเดฟเตฝ เดฎเดพเดคเตเดฐเด‚ เดจเดฟเด™เตเด™เตพ เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจเดต เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต:

  • /dev/md1, - เดฎเต—เดฃเตเดŸเต เดชเต‹เดฏเดฟเดจเตเดฑเต /boot, FS - BTRFS
  • /dev/root/root (aka /dev/mapper/root-root), - เดฎเต—เดฃเตเดŸเต เดชเต‹เดฏเดฟเดจเตเดฑเต / (เดฑเต‚เดŸเตเดŸเต), FS - BTRFS
  • /dev/root/swap (aka /dev/mapper/root-swap), - เดธเตเดตเดพเดชเตเดชเต เดชเดพเตผเดŸเตเดŸเต€เดทเดจเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•
  • /dev/sda-เตฝ เดฌเต‚เดŸเตเดŸเตเดฒเต‹เดกเตผ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเด•

เดจเดฟเด™เตเด™เตพ เดฑเต‚เดŸเตเดŸเต เดซเดฏเตฝ เดธเดฟเดธเตเดฑเตเดฑเดฎเดพเดฏเดฟ BTRFS เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเดฎเตเดชเต‹เตพ, เด‡เตปเดธเตเดฑเตเดฑเดพเดณเตผ เดธเตเดตเดฏเดฎเต‡เดต "@" เดŽเดจเตเดจ เดชเต‡เดฐเดฟเตฝ / (root), "@home" เดŽเดจเตเดจ เดชเต‡เดฐเดฟเตฝ เดฐเดฃเตเดŸเต BTRFS เดตเต‹เดณเตเดฏเด™เตเด™เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด‚.

เดจเดฎเตเด•เตเด•เต เด‡เตปเดธเตเดฑเตเดฑเดฒเต‡เดทเตป เด†เดฐเด‚เดญเดฟเด•เตเด•เดพเด‚...

เด’เดฐเต เดฌเต‚เดŸเตเดŸเตเดฒเต‹เดกเตผ เด‡เตปเดธเตเดฑเตเดฑเดฒเต‡เดทเตป เดชเดฟเดถเด•เต เดจเดฟเด™เตเด™เดณเต† เด…เดฑเดฟเดฏเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดฎเต‹เดกเตฝ เดกเดฏเดฒเต‹เด—เต เดฌเต‹เด•เตเดธเต‹เดŸเต†เดฏเดพเดฃเต เด‡เตปเดธเตเดฑเตเดฑเดฒเต‡เดทเตป เด…เดตเดธเดพเดจเดฟเด•เตเด•เตเดจเตเดจเดคเต. เดจเดฟเตผเดญเดพเด—เตเดฏเดตเดถเดพเตฝ, เดกเดฟเดซเต‹เตพเดŸเตเดŸเต เดŸเต‚เดณเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดˆ เดกเดฏเดฒเต‹เด—เต เดฌเต‹เด•เตเดธเดฟเตฝ เดจเดฟเดจเตเดจเต เดชเตเดฑเดคเตเดคเตเด•เดŸเดจเตเดจเต เด‡เตปเดธเตเดฑเตเดฑเดพเดณเต‡เดทเตป เดคเตเดŸเดฐเดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ. เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดฒเต‹เด—เต เด”เดŸเตเดŸเต เดšเต†เดฏเตเดคเต เดตเต€เดฃเตเดŸเตเด‚ เดฒเต‹เด—เดฟเตป เดšเต†เดฏเตเดคเต เด’เดฐเต เดตเตƒเดคเตเดคเดฟเดฏเตเดณเตเดณ เดกเต†เดธเตเด•เตเดŸเต‹เดชเตเดชเดฟเดฒเต‡เด•เตเด•เต เดฎเดŸเด™เตเด™เตเด•. Ubuntu เดฒเตˆเดตเต. เดŸเต†เตผเดฎเดฟเดจเตฝ เดคเตเดฑเดจเตเดจเต เดตเต€เดฃเตเดŸเตเด‚:

#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 6 เดฌเตเดฒเต‹เด•เตเด•เต เด•เดพเดทเต† เดตเดฒเตเดชเตเดชเด‚ 2020 เดจเต เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฏ เด’เดฐเต เดฎเต‚เดฒเตเดฏเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดธเดœเตเดœเดฎเดพเด•เตเด•เตเด•. เดธเตƒเดทเตเดŸเดฟเดšเตเดšเดคเดฟเดจเตเดถเต‡เดทเด‚ เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟ เดฎเต‚เดฒเตเดฏเด‚ เดฎเดพเดฑเตเดฑเดฎเดฟเดฒเตเดฒเดพเดคเต† เดคเตเดŸเดฐเตเดจเตเดจเดคเดพเดฏเดฟ เดคเต‹เดจเตเดจเตเดจเตเดจเต. Linux, เดตเดณเดฐเต†เด•เตเด•เดพเดฒเดฎเดพเดฏเดฟ เดชเดฐเตเดฏเดพเดชเตเดคเดฎเดฒเตเดฒ.
  • เด…เดฑเต‡ เดšเต†เด•เตเด•เตเด•เดณเตเดŸเต†/เดธเดฟเตปเด•เตเดฐเตŠเดฃเตˆเดธเต‡เดทเดจเตเด•เดณเตเดŸเต† เด•เดพเดฒเดฏเดณเดตเดฟเดจเดพเดฏเดฟ เด•เตเดฑเดžเตเดžเดคเต IO เดฑเดฟเดธเตผเดตเต เดšเต†เดฏเตเดฏเตเด•. เดฒเต‹เดกเดฟเดจเต เด•เต€เดดเดฟเดฒเตเดณเตเดณ เดถเดพเดถเตเดตเดค เดธเดฎเดจเตเดตเดฏเดคเตเดคเดฟเดจเตเดฑเต† เด…เดตเดธเตเดฅเดฏเดฟเตฝ เดจเดฟเด™เตเด™เดณเตเดŸเต† เด…เดฑเต‡เด•เตพ เด•เตเดŸเตเด™เตเด™เดฟเดชเตเดชเต‹เด•เตเดจเตเดจเดคเต เดคเดŸเดฏเดพเดจเดพเดฃเดฟเดคเต.
  • เด…เดฑเต‡เด•เดณเตเดŸเต† เดšเต†เด•เตเด•เตเด•เตพ/เดธเดฟเตปเด•เตเดฐเตŠเดฃเตˆเดธเต‡เดทเตป เดธเดฎเดฏเดคเตเดคเต เดชเดฐเดฎเดพเดตเดงเดฟ IO เดชเดฐเดฟเดฎเดฟเดคเดชเตเดชเต†เดŸเตเดคเตเดคเตเด•. SSD RAID-เด•เตพ เดธเดฎเดจเตเดตเดฏเดฟเดชเตเดชเดฟเด•เตเด•เตฝ/เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเดจเตเดจเดคเต เดจเดฟเด™เตเด™เดณเตเดŸเต† เดกเตเดฐเตˆเดตเตเด•เดณเต† เด•เตเดฐเดฟเดธเตเดชเต เด†เดฏเดฟ เดซเตเดฐเตˆ เดšเต†เดฏเตเดฏเดพเดคเดฟเดฐเดฟเด•เตเด•เดพเตป เด‡เดคเต เด†เดตเดถเตเดฏเดฎเดพเดฃเต. เด‡เดคเต NVMe-เดฏเตเด•เตเด•เต เดชเตเดฐเดคเตเดฏเต‡เด•เดฟเดšเตเดšเต เดธเดคเตเดฏเดฎเดพเดฃเต. (เดฑเต‡เดกเดฟเดฏเต‡เดฑเตเดฑเดฑเดฟเดจเต† เด•เตเดฑเดฟเดšเตเดšเต เด“เตผเด•เตเด•เตเดจเตเดจเตเดฃเตเดŸเต‹? เดžเดพเตป เดคเดฎเดพเดถ เดชเดฑเดžเตเดžเดคเดฒเตเดฒ.)
  • เดŽเดชเดฟเดŽเด‚ เดตเดดเดฟ เดธเตเดชเดฟเตปเดกเดฟเตฝ เดฑเตŠเดŸเตเดŸเต‡เดทเตป (เดŽเดšเตเดšเตเดกเดฟเดกเดฟ) เดจเดฟเตผเดคเตเดคเตเดจเตเดจเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดกเดฟเดธเตเด•เตเด•เดณเต† เดจเดฟเดฐเต‹เดงเดฟเด•เตเด•เตเด•, เดกเดฟเดธเตเด•เต เด•เตบเดŸเตเดฐเต‹เดณเดฑเตเด•เตพเด•เตเด•เตเดณเตเดณ เดธเตเดฒเต€เดชเตเดชเต เดŸเตˆเด‚เด”เดŸเตเดŸเต 7 เดฎเดฃเดฟเด•เตเด•เต‚เดฑเดพเดฏเดฟ เดธเดœเตเดœเดฎเดพเด•เตเด•เตเด•. เดจเดฟเด™เตเด™เดณเตเดŸเต† เดกเตเดฐเตˆเดตเตเด•เตพเด•เตเด•เต เด…เดคเต เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเดฎเต†เด™เตเด•เดฟเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต APM เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดจเดฐเดนเดฟเดคเดฎเดพเด•เตเด•เดพเด‚ (-B 255). เดกเดฟเดซเต‹เตพเดŸเตเดŸเต เดฎเต‚เดฒเตเดฏเดคเตเดคเดฟเตฝ, เด…เดžเตเดšเต เดธเต†เด•เตเด•เตปเดกเดฟเดจเต เดถเต‡เดทเด‚ เดกเตเดฐเตˆเดตเตเด•เตพ เดจเดฟเตผเดคเตเดคเตเด‚. เด…เดชเตเดชเต‹เตพ OS เดกเดฟเดธเตเด•เต เด•เดพเดทเต† เดชเตเดจเดƒเดธเดœเตเดœเดฎเดพเด•เตเด•เดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเต, เดกเดฟเดธเตเด•เตเด•เตพ เดตเต€เดฃเตเดŸเตเด‚ เด•เดฑเด™เตเด™เตเด‚, เดŽเดฒเตเดฒเดพเด‚ เดตเต€เดฃเตเดŸเตเด‚ เด†เดฐเด‚เดญเดฟเด•เตเด•เตเด‚. เดกเดฟเดธเตเด•เตเด•เตพเด•เตเด•เต เดชเดฐเดฟเดฎเดฟเดคเดฎเดพเดฏ เดชเดฐเดฎเดพเดตเดงเดฟ เดธเตเดชเดฟเตปเดกเดฟเตฝ เดฑเตŠเดŸเตเดŸเต‡เดทเดจเตเด•เตพ เด‰เดฃเตเดŸเต. เด…เดคเตเดคเดฐเดฎเตŠเดฐเต เดฒเดณเดฟเดคเดฎเดพเดฏ เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟ เดธเตˆเด•เตเด•เดฟเดณเดฟเดจเต เด•เตเดฑเดšเตเดšเต เดตเตผเดทเดคเตเดคเดฟเดจเตเดณเตเดณเดฟเตฝ เดจเดฟเด™เตเด™เดณเตเดŸเต† เดกเดฟเดธเตเด•เตเด•เดณเต† เดŽเดณเตเดชเตเดชเดคเตเดคเดฟเตฝ เดจเดถเดฟเดชเตเดชเดฟเด•เตเด•เดพเดจเดพเด•เตเด‚. เดŽเดฒเตเดฒเดพ เดกเดฟเดธเตเด•เตเด•เดณเตเด‚ เด‡เดคเดฟเตฝ เดจเดฟเดจเตเดจเต เด•เดทเตเดŸเดชเตเดชเต†เดŸเตเดจเตเดจเดฟเดฒเตเดฒ, เดŽเดจเตเดจเดพเตฝ เดžเด™เตเด™เดณเตเดŸเต‡เดคเต "เดฒเดพเดชเตเดŸเต‹เดชเตเดชเต" เด†เดฃเต, เด‰เดšเดฟเดคเดฎเดพเดฏ เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟ เดธเดœเตเดœเต€เด•เดฐเดฃเด™เตเด™เตพ เด‰เดณเตเดณเดคเดพเดฃเต, เด‡เดคเต เดฑเต†เดฏเตเดกเดฟเดจเต† เด’เดฐเต เดฎเดฟเดจเดฟ-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 เดชเดพเตผเดŸเตเดŸเต€เดทเตป เดžเด™เตเด™เตพ เดคเดฟเดฐเดฏเตเดจเตเดจเต. เด…เดฑเต‡ เดจเดพเดฎเด•เดฐเดฃเด‚ เดธเตˆเดฆเตเดงเดพเดจเตเดคเดฟเด•เดฎเดพเดฏเดฟ เดฎเดพเดฑเดฟเดฏเต‡เด•เตเด•เดพเด‚.

เดฌเดพเด•เตเด•เดฟเดฏเตเดณเตเดณ เดญเดพเด—เด™เตเด™เตพ เดžเด™เตเด™เตพ /dev/mapper/vg-lv เดจเตŠเดŸเตเดŸเต‡เดทเดจเดฟเตฝ LVM เดจเดพเดฎเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดคเดฟเดฐเดฏเตเด‚, เด•เดพเดฐเดฃเด‚ เด…เดตเตผ เดชเดพเตผเดŸเตเดŸเต€เดทเดจเตเด•เดณเต† เดคเดฟเด•เดšเตเดšเตเด‚ เด…เดฆเตเดตเดฟเดคเต€เดฏเดฎเดพเดฏเดฟ เดคเดฟเดฐเดฟเดšเตเดšเดฑเดฟเดฏเตเดจเตเดจเต.

เดŽเตฝเดตเดฟเดŽเดฎเตเดฎเดฟเดจเดพเดฏเดฟ เดžเด™เตเด™เตพ UUID เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ เด•เดพเดฐเดฃเด‚ เดŽเตฝเดตเดฟเดŽเด‚ เดตเต‹เดณเตเดฏเด™เตเด™เดณเตเดŸเต† เดฏเตเดฏเตเดเดกเดฟเดฏเตเด‚ เด…เดตเดฏเตเดŸเต† เดธเตเดจเดพเดชเตเดชเตเดทเต‹เดŸเตเดŸเตเด•เดณเตเด‚ เดธเดฎเดพเดจเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚.เดฎเต—เดฃเตเดŸเต /dev/mapper/root-root.. เดฐเดฃเตเดŸเตเดคเดตเดฃ?เด…เดคเต†. เด•เตƒเดคเตเดฏเดฎเดพเดฏเดฟ. BTRFS-เดจเตเดฑเต† เดธเดตเดฟเดถเต‡เดทเดค. เดˆ เดซเดฏเตฝ เดธเดฟเดธเตเดฑเตเดฑเด‚ เดตเตเดฏเดคเตเดฏเดธเตโ€Œเดค เดธเดฌเตโ€Œเดตเต‹เดณเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเดฟเดฐเดตเดงเดฟ เดคเดตเดฃ เดฎเตŒเดฃเตเดŸเต เดšเต†เดฏเตเดฏเดพเดตเตเดจเตเดจเดคเดพเดฃเต.

เด‡เดคเต‡ เดธเดตเดฟเดถเต‡เดทเดค เด•เดพเดฐเดฃเด‚, เดธเดœเต€เดตเดฎเดพเดฏ BTRFS เดตเต‹เดณเตเดฏเด™เตเด™เดณเตเดŸเต† เดŽเตฝเดตเดฟเดŽเด‚ เดธเตเดจเดพเดชเตเดชเตเดทเต‹เดŸเตเดŸเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดฐเตเดคเต†เดจเตเดจเต เดžเดพเตป เดถเตเดชเดพเตผเดถ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เดจเดฟเด™เตเด™เตพ เดฑเต€เดฌเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เด…เดคเตเดญเตเดคเด‚ เด‰เดฃเตเดŸเดพเดฏเต‡เด•เตเด•เดพเด‚.

เดจเดฎเตเด•เตเด•เต mdadm เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดชเตเดจเดƒเดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเด‚:

#/usr/share/mdadm/mkconf | sed 's/#DEVICE/DEVICE/g' >/etc/mdadm/mdadm.conf

เดจเดฎเตเด•เตเด•เต LVM เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เตพ เด•เตเดฐเดฎเต€เด•เดฐเดฟเด•เตเด•เดพเด‚:

#cat >>/etc/lvm/lvmlocal.conf << EOF

เดธเดœเต€เดตเดฎเดพเด•เตเด•เตฝ {
เดคเดฟเตป_เดชเต‚เตพ_เด“เดŸเตเดŸเต‹เดŽเด•เตเดธเตเดฑเตเดฑเต†เตปเดกเต_เดคเตเดฐเต†เดทเต‹เตพเดกเต=90
เดคเดฟเตป_เดชเต‚เตพ_เด“เดŸเตเดŸเต‹เดŽเด•เตเดธเตเดฑเตเดฑเต†เตปเดกเต_เดชเต†เตผเดธเต†เดจเตเดฑเต=5
}
เดตเดฟเดนเดฟเดคเด‚ {
เด•เดพเดทเต†_เดชเต‚เตพ_เดฎเดพเด•เตเดธเต_เดšเด™เตเด•เตเดธเต=2097152
}
เด‰เดชเด•เดฐเดฃเด™เตเด™เตพ {
global_filter=["r|^/dev/.*_corig$|","r|^/dev/.*_cdata$|","r|^/dev/.*_cmeta$|","r|^/dev/.*_cmeta$|","r|^/dev/.*gpv$|","r |^/dev/images/.*$|","r|^/dev/mapper/images.*$|","r|^/dev/backup/.*$|","r|^/dev/mapper/backup.*$|"]
เด‡เดทเตเดฏเต‚_เดกเดฟเดธเตเด•เดพเตผเดกเตเด•เตพ=1
}
EOF

เด…เดคเต เดŽเดจเตเดคเดพเดฏเดฟเดฐเตเดจเตเดจเต..?เดตเต‹เดณเตเดฏเดคเตเดคเดฟเดจเตเดฑเต† 90% เดธเตเดฅเดฒเดคเตเดคเต† 5% เด•เตŠเดฃเตเดŸเต เดŽเตฝเดตเดฟเดŽเด‚ เดจเต‡เตผเดคเตเดค เดชเต‚เดณเตเด•เดณเตเดŸเต† เดฏเดพเดจเตเดคเตเดฐเดฟเด• เดตเดฟเดชเตเดฒเต€เด•เดฐเดฃเด‚ เดžเด™เตเด™เตพ เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เดฟ.

เดŽเตฝเดตเดฟเดŽเด‚ เด•เดพเดทเต†เด•เตเด•เดพเดฏเดฟ เดžเด™เตเด™เตพ เด•เดพเดทเต† เดฌเตเดฒเต‹เด•เตเด•เตเด•เดณเตเดŸเต† เดชเดฐเดฎเดพเดตเดงเดฟ เดŽเดฃเตเดฃเด‚ เดตเตผเดฆเตเดงเดฟเดชเตเดชเดฟเดšเตเดšเต.

เด‡เดคเดฟเตฝ เดŽเตฝเดตเดฟเดŽเด‚ เดตเต‹เดณเตเดฏเด™เตเด™เตพ (เดชเดฟเดตเดฟ) เดคเดฟเดฐเดฏเตเดจเตเดจเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดžเด™เตเด™เตพ เดŽเตฝเดตเดฟเดŽเดฎเตเดฎเดฟเดจเต† เดคเดŸเดžเตเดžเต:

  • เดŽเตฝเดตเดฟเดŽเด‚ เด•เดพเดทเต† (เดธเดฟเดกเดพเดฑเตเดฑ) เด…เดŸเด™เตเด™เดฟเดฏ เด‰เดชเด•เดฐเดฃเด™เตเด™เตพ
  • เด•เดพเดทเต† เดฎเดฑเดฟเด•เดŸเดจเตเดจเต เดŽเตฝเดตเดฟเดŽเด‚ เด•เดพเดทเต† เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด‰เดชเด•เดฐเดฃเด™เตเด™เตพ เด•เดพเดทเต† เดšเต†เดฏเตโ€Œเดคเต ( _เด•เต‹เดฑเดฟเด—เต). เดˆ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ, เด•เดพเดทเต† เดšเต†เดฏเตโ€Œเดค เด‰เดชเด•เดฐเดฃเด‚ เดคเดจเตเดจเต† เด‡เดชเตเดชเต‹เดดเตเด‚ เด•เดพเดทเต†เดฏเดฟเดฒเต‚เดŸเต† เดธเตเด•เดพเตป เดšเต†เดฏเตเดฏเตเด‚ (เดตเต†เดฑเตเด‚ ).
  • เดŽเตฝเดตเดฟเดŽเด‚ เด•เดพเดทเต† เดฎเต†เดฑเตเดฑเดพเดกเดพเดฑเตเดฑ (cmeta) เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เด‰เดชเด•เดฐเดฃเด™เตเด™เตพ
  • เดชเต‡เดฐเตเดณเตเดณ เดšเดฟเดคเตเดฐเด™เตเด™เดณเตเดณเตเดณ เดตเดฟเดœเดฟเดฏเดฟเดฒเต† เดŽเดฒเตเดฒเดพ เด‰เดชเด•เดฐเดฃเด™เตเด™เดณเตเด‚. เด‡เดตเดฟเดŸเต† เดจเดฎเตเด•เตเด•เต เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เดจเตเด•เดณเตเดŸเต† เดกเดฟเดธเตเด•เต เด‡เดฎเต‡เดœเตเด•เตพ เด‰เดฃเตเดŸเดพเด•เตเด‚, เด•เต‚เดŸเดพเดคเต† เด…เดคเดฟเดฅเดฟ OS-เดจเตเดฑเต† เดตเต‹เดณเตเดฏเด™เตเด™เตพ เดธเดœเต€เดตเดฎเดพเด•เตเด•เดพเตป เดนเต‹เดธเตเดฑเตเดฑเดฟเดฒเต† เดŽเตฝเดตเดฟเดŽเด‚ เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ.
  • เดฌเดพเด•เตเด•เดชเตเดชเต เดŽเดจเตเดจ เดชเต‡เดฐเตเดณเตเดณ VG-เดฏเดฟเดฒเต† เดŽเดฒเตเดฒเดพ เด‰เดชเด•เดฐเดฃเด™เตเด™เดณเตเด‚. เด‡เดตเดฟเดŸเต† เดจเดฎเตเด•เตเด•เต เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เตป เด‡เดฎเต‡เดœเตเด•เดณเตเดŸเต† เดฌเดพเด•เตเด•เดชเตเดชเต เดชเด•เตผเดชเตเดชเตเด•เตพ เด‰เดฃเตเดŸเดพเด•เตเด‚.
  • "gpv" (เด…เดคเดฟเดฅเดฟ เดซเดฟเดธเดฟเด•เตเด•เตฝ เดตเต‹เดณเดฟเดฏเด‚) เดŽเดจเตเดจเต เด…เดตเดธเดพเดจเดฟเด•เตเด•เตเดจเตเดจ เดŽเดฒเตเดฒเดพ เด‰เดชเด•เดฐเดฃเด™เตเด™เดณเตเด‚

เดŽเตฝเดตเดฟเดŽเด‚ เดตเดฟเดœเดฟเดฏเดฟเตฝ เดถเต‚เดจเตเดฏเดฎเดพเดฏ เด‡เดŸเด‚ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เดžเด™เตเด™เตพ เดกเดฟเดธเตโ€Œเด•เดพเตผเดกเต เดชเดฟเดจเตเดคเตเดฃ เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต. เดถเตเดฐเดฆเตเดงเดพเดฒเตเดตเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด•. เด‡เดคเต เดŽเดธเตเดŽเดธเตเดกเดฟเดฏเดฟเตฝ เดŽเตฝเดตเดฟเด•เตพ เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตเดจเตเดจเดคเต เดตเดณเดฐเต† เดธเดฎเดฏเดฎเต†เดŸเตเด•เตเด•เตเด‚. เด‡เดคเต เดชเตเดฐเดคเตเดฏเต‡เด•เดฟเดšเตเดšเตเด‚ SSD RAID 6-เดจเต เดฌเดพเดงเด•เดฎเดพเดฃเต. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดชเตเดฒเดพเตป เด…เดจเตเดธเดฐเดฟเดšเตเดšเต, เดžเด™เตเด™เตพ เดจเต‡เตผเดคเตเดค เดชเตเดฐเตŠเดตเดฟเดทเดจเดฟเด‚เด—เต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด‚, เด…เดคเดฟเดจเดพเตฝ เด‡เดคเต เดžเด™เตเด™เดณเต† เดคเดŸเดธเตเดธเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฒเตเดฒ.

เดจเดฎเตเด•เตเด•เต initramfs เด‡เดฎเต‡เดœเต เด…เดชเตเดกเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเดพเด‚:

#update-initramfs -u -k all

grub เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดคเต เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดฏเตเด•:

#apt-get install grub-pc
#apt-get purge os-prober
#dpkg-reconfigure grub-pc

เดเดคเต เดกเดฟเดธเตเด•เตเด•เดณเดพเดฃเต เดจเดฟเด™เตเด™เตพ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เต‡เดฃเตเดŸเดคเต?เดŽเดธเตเดกเดฟ* เด†เดฏ เดŽเดฒเตเดฒเดพเดตเดฐเตเด‚. เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ SATA เดกเตเดฐเตˆเดตเดฟเตฝ เดจเดฟเดจเตเดจเต‹ SSD-เดฏเดฟเตฝ เดจเดฟเดจเตเดจเต‹ เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเต เดฌเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเดฃเด‚.

เดŽเดจเตเดคเดฟเดจเดพเดฃเต เด…เดตเตผ os-prober เดšเต‡เตผเดคเตเดคเดคเต..?เด…เดฎเดฟเดคเดฎเดพเดฏ เดธเตเดตเดพเดคเดจเตเดคเตเดฐเตเดฏเดคเตเดคเดฟเดจเตเด‚ เด•เดณเดฟเดฏเดพเดฏ เด•เตˆเด•เตพเด•เตเด•เตเด‚.

เดฑเต†เดฏเดฟเดกเตเด•เดณเดฟเดฒเตŠเดจเตเดจเต เดคเดฐเด‚เดคเดพเดดเตเดจเตเดจ เดจเดฟเดฒเดฏเดฟเดฒเดพเดฃเต†เด™เตเด•เดฟเตฝ เด…เดคเต เดถเดฐเดฟเดฏเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดฟเดฒเตเดฒ. เดˆ เดนเดพเตผเดกเตโ€Œเดตเต†เดฏเดฑเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เดจเตเด•เดณเดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดชเดพเตผเดŸเตเดŸเต€เดทเดจเตเด•เดณเดฟเตฝ OS เดคเดฟเดฐเดฏเดพเตป เด‡เดคเต เดถเตเดฐเดฎเดฟเด•เตเด•เตเดจเตเดจเต.

เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดตเต‡เดฃเดฎเต†เด™เตเด•เดฟเตฝ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด…เดคเต เด‰เดชเต‡เด•เตเดทเดฟเด•เตเด•เดพเด‚, เดŽเดจเตเดจเดพเตฝ เดฎเตเด•เดณเดฟเตฝ เดชเดฑเดžเตเดžเดตเดฏเต†เดฒเตเดฒเดพเด‚ เดฎเดจเดธเตเดธเดฟเตฝ เดตเดฏเตเด•เตเด•เตเด•. เดตเดฟเด•เตƒเดคเดฟ เด•เตˆเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดฎเตเด•เตเดคเดฟ เดจเต‡เดŸเดพเดจเตเดณเตเดณ เดชเดพเดšเด•เด•เตเด•เตเดฑเดฟเดชเตเดชเตเด•เตพ เด“เตบเดฒเตˆเดจเดฟเตฝ เดคเดฟเดฐเดฏเดพเตป เดžเดพเตป เดถเตเดชเดพเตผเดถ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เด‡เดคเต‹เดŸเต† เดžเด™เตเด™เตพ เดชเตเดฐเดพเดฅเดฎเดฟเด• เด‡เตปเดธเตเดฑเตเดฑเดพเดณเต‡เดทเตป เดชเต‚เตผเดคเตเดคเดฟเดฏเดพเด•เตเด•เดฟ. เดชเตเดคเตเดคเดพเดฏเดฟ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดค OS-เดฒเต‡เด•เตเด•เต เดฑเต€เดฌเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเดพเดจเตเดณเตเดณ เดธเดฎเดฏเดฎเดพเดฃเดฟเดคเต. เดฌเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเดพเดตเตเดจเตเดจ เดฒเตˆเดตเต เดธเดฟเดกเดฟ/เดฏเตเดŽเดธเตเดฌเดฟ เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเดพเตป เดฎเดฑเด•เตเด•เดฐเตเดคเต.

#exit
#reboot

เดฌเต‚เดŸเตเดŸเต เด‰เดชเด•เดฐเดฃเดฎเดพเดฏเดฟ เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ SATA SSD-เด•เตพ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเด•เตเด•เตเด•.

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 เด‰เดฃเตเดŸเต. เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเต เดŽเดฒเตเดฒเดพเด‚ เด’เดฐเต เดตเดฟเดœเดฟเดฏเดฟเตฝ เดšเต‡เตผเด•เตเด•เดฐเตเดคเต?

เด’เดฐเต เดตเดฟเดœเดฟเดฏเดฟเตฝ เดจเดฟเดฐเดตเดงเดฟ เดชเดฟเดตเดฟเด•เตพ เด‰เดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เดตเดฟเดœเดฟ เดถเดฐเดฟเดฏเดพเดฏเดฟ เดธเดœเต€เดตเดฎเดพเด•เดฃเดฎเต†เด™เตเด•เดฟเตฝ, เดŽเดฒเตเดฒเดพ เดชเดฟเดตเดฟเด•เดณเตเด‚ เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚ (เด“เตบเดฒเตˆเตป). เด’เดดเดฟเดตเดพเด•เตเด•เตฝ LVM RAID เด†เดฃเต, เด…เดคเต เดžเด™เตเด™เตพ เดฎเดจเดชเตเดชเต‚เตผเดตเตเดตเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดฑเดฟเดฒเตเดฒ.

RAID 6 เด…เดฑเต‡เด•เดณเดฟเตฝ เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เด’เดฐเต เดชเดฐเดพเดœเดฏเด‚ (เดกเดพเดฑเตเดฑ เดจเดทเตเดŸเด‚ เดตเดพเดฏเดฟเด•เตเด•เตเด•) เด‰เดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเดฟเด‚เด—เต เดธเดฟเดธเตเดฑเตเดฑเด‚ เดธเดพเดงเดพเดฐเดฃ เดฌเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดชเตเดฐเดถเตเดจเด‚ เดชเดฐเดฟเดนเดฐเดฟเด•เตเด•เดพเดจเตเดณเตเดณ เด…เดตเดธเดฐเด‚ เดจเตฝเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเดฃเดฎเต†เดจเตเดจเต เดžเด™เตเด™เตพ เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเต.

เด‡เดคเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เด…เดฎเต‚เตผเดคเตเดคเต€เด•เดฐเดฃเดคเตเดคเดฟเดจเตเดฑเต† เด†เดฆเตเดฏ เดคเดฒเดคเตเดคเดฟเตฝ เดžเด™เตเด™เตพ เด“เดฐเต‹ เดคเดฐเด‚ เดซเดฟเดธเดฟเด•เตเด•เตฝ "เดฎเต€เดกเดฟเดฏ" เดฏเตเด‚ เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดตเดฟเดœเดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เดตเต‡เตผเดคเดฟเดฐเดฟเดšเตเดšเต†เดŸเตเด•เตเด•เตเด‚.

เดถเดพเดธเตเดคเตเดฐเต€เดฏเดฎเดพเดฏเดฟ เดชเดฑเดžเตเดžเดพเตฝ, เดตเตเดฏเดคเตเดฏเดธเตโ€Œเดค เดฑเต†เดฏเตโ€Œเดกเต เด…เดฑเต‡เด•เตพ เดตเตเดฏเดคเตเดฏเดธเตโ€Œเดค โ€œเดตเดฟเดถเตเดตเดพเดธเตเดฏเดค เดกเตŠเดฎเต†เดฏเตโ€Œเดจเตเด•เดณเดฟเตฝโ€ เดชเต†เดŸเตเดจเตเดจเต. เด…เดตเดฐเต† เด’เดฐเต VG-เดฏเดฟเตฝ เด’เดคเตเด•เตเด•เดฟเด•เตเด•เตŠเดฃเตเดŸเต เดจเดฟเด™เตเด™เตพ เด…เดตเตผเด•เตเด•เต เด’เดฐเต เด…เดงเดฟเด• เดชเดฐเดพเดœเดฏ เดชเต‹เดฏเดฟเดจเตเดฑเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดฐเตเดคเต.

"เดนเดพเตผเดกเตโ€Œเดตเต†เดฏเตผ" เดคเดฒเดคเตเดคเดฟเดฒเตเดณเตเดณ เดŽเตฝเดตเดฟเดŽเดฎเตเดฎเดฟเดจเตเดฑเต† เดธเดพเดจเตเดจเดฟเดฆเตเดงเตเดฏเด‚, เดตเตเดฏเดคเตเดฏเดธเตเดค เดฑเต†เดฏเตโ€Œเดกเต เด…เดฑเต‡เด•เดณเตเดŸเต† เด•เดทเดฃเด™เตเด™เตพ เดตเตเดฏเดคเตเดฏเดธเตเดค เดฐเต€เดคเดฟเด•เดณเดฟเตฝ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเดšเตเดšเต เดเด•เดชเด•เตเดทเต€เดฏเดฎเดพเดฏเดฟ เดฎเตเดฑเดฟเด•เตเด•เดพเตป เดžเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเด‚. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต - เด“เดŸเตเด• เด…เดคเต‡ เดธเดฎเดฏเด‚ bcache + LVM thin, bcache + BTRFS, LVM เด•เดพเดทเต† + LVM เดจเต‡เตผเดคเตเดค, เด•เดพเดทเต†เด•เดณเตเดณเตเดณ เด’เดฐเต เดธเด™เตเด•เต€เตผเดฃเตเดฃเดฎเดพเดฏ ZFS เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดŽเดฒเตเดฒเดพเด‚ เดคเดพเดฐเดคเดฎเตเดฏเด‚ เดšเต†เดฏเตเดฏเดพเตป เดถเตเดฐเดฎเดฟเดšเตเดšเตเดจเต‹เด•เตเด•เดพเตป เดฎเดฑเตเดฑเต‡เดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดจเดฐเด• เดฎเดฟเดถเตเดฐเดฟเดคเด‚.

โ€œเดนเดพเตผเดกเตโ€Œเดตเต†เดฏเตผโ€ เดคเดฒเดคเตเดคเดฟเตฝ, เดจเดฒเตเดฒ เดชเดดเดฏ โ€œเด•เดŸเตเดŸเดฟเดฏเตเดณเตเดณโ€ เดŽเตฝเดตเดฟเดŽเด‚ เดตเต‹เดณเตเดฏเด™เตเด™เดณเดฒเตเดฒเดพเดคเต† เดฎเดฑเตเดฑเตŠเดจเตเดจเตเด‚ เดžเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดฟเดฒเตเดฒ. เดˆ เดจเดฟเดฏเดฎเดคเตเดคเดฟเดจเต เด’เดฐเต เด…เดชเดตเดพเดฆเด‚ เดฌเดพเด•เตเด•เดชเตเดชเต เดชเดพเตผเดŸเตเดŸเต€เดทเตป เด†เดฏเดฟเดฐเดฟเด•เตเด•เดพเด‚.

เดˆ เดจเดฟเดฎเดฟเดทเด‚ เดตเดฐเต†, เดชเดฒ เดตเดพเดฏเดจเด•เตเด•เดพเดฐเตเด‚ เดจเต†เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดชเดพเดตเดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดธเด‚เดถเดฏเดฟเด•เตเด•เดพเตป เดคเตเดŸเด™เตเด™เดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต†เดจเตเดจเต เดžเดพเตป เด•เดฐเตเดคเตเดจเตเดจเต.

SATA HDD-เดฏเดฟเตฝ LVM

#pvcreate /dev/md3
#vgcreate backup /dev/md3

เดตเต€เดฃเตเดŸเตเด‚ เดชเตเดคเดฟเดฏ เดตเดฟเดœเดฟ..?เดกเดพเดฑเตเดฑ เดฌเดพเด•เตเด•เดชเตเดชเดฟเดจเดพเดฏเดฟ เดžเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดกเดฟเดธเตเด•เต เด…เดฑเต‡ เดชเดฐเดพเดœเดฏเดชเตเดชเต†เดŸเตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดžเด™เตเด™เดณเตเดŸเต† เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเดฟเด‚เด—เต เดธเดฟเดธเตเดฑเตเดฑเด‚ เดธเดพเดงเดพเดฐเดฃ เดฐเต€เดคเดฟเดฏเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเต เดคเตเดŸเดฐเตเด‚, เด…เดคเต‡ เดธเดฎเดฏเด‚ เดจเต‹เตบ-เดฌเดพเด•เตเด•เดชเตเดชเต เดกเดพเดฑเตเดฑเดฏเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เด†เด•เตเดธเดธเต เดจเดฟเดฒเดจเดฟเตผเดคเตเดคเตเดจเตเดจเดคเต เดžเด™เตเด™เตพ เดถเดฐเดฟเด•เตเด•เตเด‚ เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเต. เด…เดคเดฟเดจเดพเตฝ, เดตเดฟเดœเดฟ เด†เด•เตเดŸเดฟเดตเต‡เดทเตป เดชเตเดฐเดถเตเดจเด™เตเด™เตพ เด’เดดเดฟเดตเดพเด•เตเด•เดพเตป, เดžเด™เตเด™เตพ เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดตเดฟเดœเดฟ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเต.

LVM เด•เดพเดทเต† เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต

เด’เดฐเต เด•เดพเดทเดฟเด‚เด—เต เด‰เดชเด•เดฐเดฃเดฎเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต NVMe RAID 1-เตฝ เด’เดฐเต LV เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเด‚.

#lvcreate -L 70871154688B --name cache root

เดŽเดจเตเดคเดฟเดจเดพ เด‡เดคเตเดฐ เด•เตเดฑเดตเต...?เดžเด™เตเด™เดณเตเดŸเต† NVMe SSD-เด•เดณเดฟเดฒเตเด‚ เด’เดฐเต SLC เด•เดพเดทเต† เด‰เดฃเตเดŸเต เดŽเดจเตเดจเดคเดพเดฃเต เดตเดธเตเดคเตเดค. 4 เดœเดฟเด—เดพเดฌเตˆเดฑเตเดฑเต "เดซเตเดฐเต€", 18 เดœเดฟเด—เดพเดฌเตˆเดฑเตเดฑเต เดกเตˆเดจเดพเดฎเดฟเด•เต เดŽเดจเตเดจเดฟเดต 3-เดฌเดฟเดฑเตเดฑเต เดŽเด‚เดŽเตฝเดธเดฟเดฏเดฟเตฝ เด‰เดณเตเดณ เดธเตเดตเดคเดจเตเดคเตเดฐ เด‡เดŸเด‚ เด•เดพเดฐเดฃเด‚. เดˆ เด•เดพเดทเต† เดคเต€เตผเดจเตเดจเตเด•เดดเดฟเดžเตเดžเดพเตฝ, NVMe SSD-เด•เตพ เด•เดพเดทเต†เดฏเตเดณเตเดณ เดžเด™เตเด™เดณเตเดŸเต† SATA SSD-เดฏเต†เด•เตเด•เดพเตพ เดตเต‡เด—เดคเดฏเตเดณเตเดณเดคเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฟเดฒเตเดฒ. เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ, เด‡เด•เตเด•เดพเดฐเดฃเดคเตเดคเดพเตฝ, NVMe เดกเตเดฐเตˆเดตเดฟเดจเตเดฑเต† SLC เด•เดพเดทเต†เดฏเตเดŸเต† เด‡เดฐเดŸเตเดŸเดฟเดฏเต‡เด•เตเด•เดพเตพ เดตเดฒเตเดคเดพเดฏเดฟ LVM เด•เดพเดทเต† เดชเดพเตผเดŸเตเดŸเต€เดทเตป เด‰เดฃเตเดŸเดพเด•เตเด•เตเดจเตเดจเดคเดฟเตฝ เด…เตผเดคเตเดฅเดฎเดฟเดฒเตเดฒ. เด‰เดชเดฏเต‹เด—เดฟเดšเตเดš NVMe เดกเตเดฐเตˆเดตเตเด•เตพเด•เตเด•เดพเดฏเดฟ, 32-64 เดœเดฟเด—เดพเดฌเตˆเดฑเตเดฑเต เด•เดพเดทเต† เด‰เดฃเตเดŸเดพเด•เตเด•เตเดจเตเดจเดคเต เดจเตเดฏเดพเดฏเดฎเดพเดฃเต†เดจเตเดจเต เดฐเดšเดฏเดฟเดคเดพเดตเต เด•เดฐเตเดคเตเดจเตเดจเต.

64 เดœเดฟเด—เดพเดฌเตˆเดฑเตเดฑเต เด•เดพเดทเต†, เด•เดพเดทเต† เดฎเต†เดฑเตเดฑเดพเดกเดพเดฑเตเดฑ, เดฎเต†เดฑเตเดฑเดพเดกเดพเดฑเตเดฑ เดฌเดพเด•เตเด•เดชเตเดชเต เดŽเดจเตเดจเดฟเดต เดธเด‚เด˜เดŸเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดจเตฝเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดชเดพเตผเดŸเตเดŸเต€เดทเตป เดตเดฒเตเดชเตเดชเด‚ เด†เดตเดถเตเดฏเดฎเดพเดฃเต.

เด•เต‚เดŸเดพเดคเต†, เด’เดฐเต เดตเตƒเดคเตเดคเดฟเด•เต†เดŸเตเดŸ เดธเดฟเดธเตเดฑเตเดฑเด‚ เดทเดŸเตเดŸเตเดกเต—เดฃเดฟเดจเต เดถเต‡เดทเด‚, เดŽเตฝเดตเดฟเดŽเด‚ เดฎเตเดดเตเดตเตป เด•เดพเดทเต†เดฏเตเด‚ เดตเตƒเดคเตเดคเดฟเด•เต†เดŸเตเดŸเดคเดพเดฏเดฟ เด…เดŸเดฏเดพเดณเดชเตเดชเต†เดŸเตเดคเตเดคเตเด•เดฏเตเด‚ เดตเต€เดฃเตเดŸเตเด‚ เดธเดฎเดจเตเดตเดฏเดฟเดชเตเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด‚. เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, เดธเดฟเดธเตเดฑเตเดฑเด‚ เดตเต€เดฃเตเดŸเตเด‚ เดฑเต€เดฌเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเตเดตเดฐเต† เดˆ เด‰เดชเด•เดฐเดฃเดคเตเดคเดฟเตฝ lvchange เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดฎเตเดชเต‹เดดเต†เดฒเตเดฒเดพเด‚ เด‡เดคเต เด†เดตเตผเดคเตเดคเดฟเด•เตเด•เตเด‚. เด…เดคเดฟเดจเดพเตฝ, เด‰เดšเดฟเดคเดฎเดพเดฏ เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด•เดพเดทเต† เด‰เดŸเตป เดชเตเดจเดƒเดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป เดžเดพเตป เดถเตเดชเดพเตผเดถ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

SATA RAID 6-เตฝ เด’เดฐเต เด•เดพเดทเต† เดšเต†เดฏเตโ€Œเดค เด‰เดชเด•เดฐเดฃเดฎเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดจเดฎเตเด•เตเด•เต เด’เดฐเต เดŽเตฝเดตเดฟ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เดพเด‚.

#lvcreate -L 3298543271936B --name cache data

เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเต เดฎเต‚เดจเตเดจเต เดŸเต†เดฑเดพเดฌเตˆเดฑเตเดฑเต เดฎเดพเดคเตเดฐเด‚..?เด…เดคเดฟเดจเดพเตฝ, เด†เดตเดถเตเดฏเดฎเต†เด™เตเด•เดฟเตฝ, เดฎเดฑเตเดฑเต เดšเดฟเดฒ เด†เดตเดถเตเดฏเด™เตเด™เตพเด•เตเด•เดพเดฏเดฟ เดจเดฟเด™เตเด™เตพเด•เตเด•เต SATA SSD RAID 6 เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚. เด•เดพเดทเต† เดšเต†เดฏเตโ€Œเดค เดธเตเดฅเดฒเดคเตเดคเดฟเดจเตเดฑเต† เดตเดฒเตเดชเตเดชเด‚ เดธเดฟเดธเตเดฑเตเดฑเด‚ เดจเดฟเตผเดคเตเดคเดพเดคเต† เดคเดจเตเดจเต† เดšเดฒเดจเดพเดคเตเดฎเด•เดฎเดพเดฏเดฟ เดตเตผเดฆเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚. เด‡เดคเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เดจเดฟเด™เตเด™เตพ เด•เดพเดทเต† เดคเดพเตฝเด•เตเด•เดพเดฒเดฟเด•เดฎเดพเดฏเดฟ เดจเดฟเตผเดคเตเดคเดฟ เดตเต€เดฃเตเดŸเตเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต, เดŽเดจเตเดจเดพเตฝ เดŽเตฝเดตเดฟเดŽเด‚-เด•เดพเดทเต†เดฏเตเดŸเต† เดธเดตเดฟเดถเต‡เดทเดฎเดพเดฏ เดชเตเดฐเดฏเต‹เดœเดจเด‚, เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, 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

เดŽเดจเตเดคเดฟเดจเดพ เด‡เด™เตเด™เดจเต† เดšเด™เตเด•เตโ€Œเดธเตˆเดธเต..?เดชเตเดฐเดพเดฏเต‹เด—เดฟเด• เดชเดฐเต€เด•เตเดทเดฃเด™เตเด™เดณเดฟเดฒเต‚เดŸเต†, เดŽเตฝเดตเดฟเดŽเด‚ เด•เดพเดทเต† เดฌเตเดฒเต‹เด•เตเด•เดฟเดจเตเดฑเต† เดตเดฒเตเดชเตเดชเด‚ เดŽเตฝเดตเดฟเดŽเด‚ เดจเต‡เตผเดคเตเดค เดฌเตเดฒเต‹เด•เตเด•เดฟเดจเตเดฑเต† เดตเดฒเตเดชเตเดชเดตเตเดฎเดพเดฏเดฟ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดจเตเดจเต†เด™เตเด•เดฟเตฝ เดฎเดฟเด•เดšเตเดš เดซเดฒเด‚ เด•เตˆเดตเดฐเดฟเด•เตเด•เตเดฎเต†เดจเตเดจเต เดฐเดšเดฏเดฟเดคเดพเดตเดฟเดจเต เด•เดฃเตเดŸเต†เดคเตเดคเดพเตป เด•เดดเดฟเดžเตเดžเต. เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ, เดšเต†เดฑเดฟเดฏ เดตเดฒเดฟเดชเตเดชเด‚, เด•เตเดฐเดฎเดฐเดนเดฟเดคเดฎเดพเดฏ เดฑเต†เด•เตเด•เต‹เตผเดกเดฟเด‚เด—เดฟเตฝ เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป เดฎเดฟเด•เดšเตเดš เดฐเต€เดคเดฟเดฏเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต.

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)

/dev/data/cache-เตฝ [cachedata_corig] เดฎเดพเดคเตเดฐเดฎเต‡ เดธเตเดฅเดฟเดคเดฟเดšเต†เดฏเตเดฏเต‚. เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เด•เตเดดเดชเตเดชเดฎเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, pvmove เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•.

เด’เดฐเต เด•เดฎเดพเตปเดกเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด†เดตเดถเตเดฏเดฎเต†เด™เตเด•เดฟเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด•เดพเดทเต† เดชเตเดฐเดตเตผเดคเตเดคเดจเดฐเดนเดฟเดคเดฎเดพเด•เตเด•เดพเด‚:

#lvconvert -y --uncache cache/cachedata

เด‡เดคเต เด“เตบเดฒเตˆเดจเดฟเดฒเดพเดฃเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต. เดŽเตฝเดตเดฟเดŽเด‚ เด•เดพเดทเต† เดกเดฟเดธเตเด•เดฟเดฒเต‡เด•เตเด•เต เดธเดฎเดจเตเดตเดฏเดฟเดชเตเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เด…เดคเต เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ cachedata_corig เดตเต€เดฃเตเดŸเตเด‚ เด•เดพเดทเต†เดกเดพเดฑเตเดฑเดฏเดฟเดฒเต‡เด•เตเด•เต เดชเต‡เดฐเตเดฎเดพเดฑเตเดฑเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด‚.

เดŽเตฝเดตเดฟเดŽเด‚ เดคเดฟเตป เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต

เดŽเตฝเดตเดฟเดŽเด‚ เดจเต‡เตผเดคเตเดค เดฎเต†เดฑเตเดฑเดพเดกเดพเดฑเตเดฑเดฏเตเด•เตเด•เต เดŽเดคเตเดฐ เดธเตเดฅเดฒเด‚ เดตเต‡เดฃเดฎเต†เดจเตเดจเต เดจเดฎเตเด•เตเด•เต เดเด•เดฆเต‡เดถเด‚ เด•เดฃเด•เตเด•เดพเด•เตเด•เดพเด‚:

#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
LVM เดจเต‡เตผเดคเตเดค เดฎเต†เดฑเตเดฑเดพเดกเดพเดฑเตเดฑเดฏเตเด‚ เด…เดตเดฏเตเดŸเต† เดฌเดพเด•เตเด•เดชเตเดชเต เดชเด•เตผเดชเตเดชเตเด‚ เดธเตเดฅเดพเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ NVMe RAID 1-เตฝ เดจเดฎเตเด•เตเด•เต เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดชเดพเตผเดŸเตเดŸเต€เดทเตป เด‰เดฃเตเดŸเดพเด•เตเด•เดพเด‚:

#lvcreate -L 8594128896B --name images root

เดŽเดจเตเดคเดฟเดจเตเดตเต‡เดฃเตเดŸเดฟ..?เด‡เดตเดฟเดŸเต† เดšเต‹เดฆเตเดฏเด‚ เด‰เดฏเตผเดจเตเดจเต‡เด•เตเด•เดพเด‚: เดŽเตฝเดตเดฟเดŽเด‚ เดจเต‡เตผเดคเตเดค เดฎเต†เดฑเตเดฑเดพเดกเดพเดฑเตเดฑ เด‡เดชเตเดชเต‹เดดเตเด‚ เดŽเตปเดตเดฟเดŽเด‚เดฏเดฟเตฝ เด•เดพเดทเต† เดšเต†เดฏเตโ€Œเดคเดฟเดฐเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดตเต‡เด—เดคเตเดคเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตโ€Œเดคเดพเตฝ เดตเต†เดตเตเดตเต‡เดฑเต† เดธเตเดฅเดพเดชเดฟเด•เตเด•เตเดจเตเดจเดคเต เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเต.

เดตเต‡เด—เดค เด‡เดตเดฟเดŸเต† เดชเตเดฐเดงเดพเดจเดฎเดพเดฃเต†เด™เตเด•เดฟเดฒเตเด‚, เด…เดคเต เดชเตเดฐเดงเดพเดจ เด•เดพเดฐเดฃเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเดณเดฐเต† เด…เด•เดฒเต†เดฏเดพเดฃเต. เด•เดพเดทเต† เดชเดฐเดพเดœเดฏเดคเตเดคเดฟเตปเตเดฑเต† เด’เดฐเต เดชเต‹เดฏเดฟเตปเตเดฑเดพเดฃเต เดŽเดจเตเดจเดคเดพเดฃเต เด•เดพเดฐเตเดฏเด‚. เด‡เดคเดฟเดจเต เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดธเด‚เดญเดตเดฟเด•เตเด•เดพเด‚, เด•เต‚เดŸเดพเดคเต† เดŽเตฝเดตเดฟเดŽเด‚ เดจเต‡เตผเดคเตเดค เดฎเต†เดฑเตเดฑเดพเดกเดพเดฑเตเดฑ เด•เดพเดทเต† เดšเต†เดฏเตเดคเดพเตฝ, เด…เดคเต เดŽเดฒเตเดฒเดพเด‚ เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดจเดทเตโ€ŒเดŸเดชเตเดชเต†เดŸเดพเตป เด‡เดŸเดฏเดพเด•เตเด•เตเด‚. เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏ เดฎเต†เดฑเตเดฑเดพเดกเดพเดฑเตเดฑ เด‡เดฒเตเดฒเดพเดคเต†, เดจเต‡เตผเดคเตเดค เดตเต‹เดณเตเดฏเด™เตเด™เตพ เด•เต‚เดŸเตเดŸเดฟเดšเตเดšเต‡เตผเด•เตเด•เตเดจเตเดจเดคเต เดฎเดฟเด•เตเด•เดตเดพเดฑเตเด‚ เด…เดธเดพเดงเตเดฏเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚.

เด•เดพเดทเต† เดšเต†เดฏเตเดฏเดพเดคเตเดคเดคเตเด‚ เดŽเดจเตเดจเดพเตฝ เดตเต‡เด—เดคเดฏเต‡เดฑเดฟเดฏเดคเตเดฎเดพเดฏ เดตเต‹เดณเดฟเดฏเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดฎเต†เดฑเตเดฑเดพเดกเดพเดฑเตเดฑ เดจเต€เด•เตเด•เตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต†, เด•เดพเดทเต† เดจเดทเตโ€ŒเดŸเดฎเต‹ เด…เดดเดฟเดฎเดคเดฟเดฏเต‹ เดธเด‚เดญเดตเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เดฎเต†เดฑเตเดฑเดพเดกเดพเดฑเตเดฑเดฏเตเดŸเต† เดธเตเดฐเด•เตเดท เดžเด™เตเด™เตพ เด‰เดฑเดชเตเดชเต เดจเตฝเด•เตเดจเตเดจเต. เดˆ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ, เด•เดพเดทเต† เดจเดทเตเดŸเด‚ เดฎเต‚เดฒเดฎเตเดฃเตเดŸเดพเด•เตเดจเตเดจ เดŽเดฒเตเดฒเดพ เดจเดพเดถเดจเดทเตเดŸเด™เตเด™เดณเตเด‚ เดจเต‡เตผเดคเตเดค เดตเต‹เดณเตเดฏเด™เตเด™เดณเดฟเตฝ เดชเตเดฐเดพเดฆเต‡เดถเดฟเด•เดตเตฝเด•เตเด•เดฐเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเด‚, เด‡เดคเต เดฎเดพเด—เตเดจเดฟเดฑเตเดฑเตเดฏเต‚เดกเต เด“เตผเดกเดฑเตเด•เตพ เดชเตเดฐเด•เดพเดฐเด‚ เดตเต€เดฃเตเดŸเต†เดŸเตเด•เตเด•เตฝ เดจเดŸเดชเดŸเดฟเด•เตเดฐเดฎเด‚ เดฒเดณเดฟเดคเดฎเดพเด•เตเด•เตเด‚. เด‰เดฏเตผเดจเตเดจ เดธเด‚เดญเดพเดตเตเดฏเดคเดฏเต‹เดŸเต†, เดŽเดซเตเดŽเดธเต เดฒเต‹เด—เตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดˆ เด•เต‡เดŸเตเดชเดพเดŸเตเด•เตพ เดชเตเดจเดƒเดธเตเดฅเดพเดชเดฟเด•เตเด•เตเด‚.

เด•เต‚เดŸเดพเดคเต†, เด’เดฐเต เดจเต‡เตผเดคเตเดค เดตเต‹เดณเตเดฏเดคเตเดคเดฟเดจเตเดฑเต† เด’เดฐเต เดธเตโ€Œเดจเดพเดชเตเดชเตโ€Œเดทเต‹เดŸเตเดŸเต เดฎเตเดฎเตเดชเต เดŽเดŸเตเดคเตเดคเดฟเดฐเตเดจเตเดจเตเดตเต†เด™เตเด•เดฟเตฝ, เด…เดคเดฟเดจเตเดถเต‡เดทเด‚ เด•เดพเดทเต† เด’เดฐเต เดคเดตเดฃเดฏเต†เด™เตเด•เดฟเดฒเตเด‚ เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเดฟ เดธเดฎเดจเตเดตเดฏเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดŸเตเดŸเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เดŽเตฝเดตเดฟเดŽเด‚ เดคเดฟเดจเตเดจเดฟเดจเตเดฑเต† เด†เดจเตเดคเดฐเดฟเด• เดฐเต‚เดชเด•เตฝเดชเตเดชเดจ เด•เดพเดฐเดฃเด‚, เด•เดพเดทเต† เดจเดทเตโ€ŒเดŸเดชเตเดชเต†เดŸเตเดฎเตเดชเต‹เตพ เดธเตโ€Œเดจเดพเดชเตเดชเตเดทเต‹เดŸเตเดŸเดฟเดจเตเดฑเต† เดธเดฎเด—เตเดฐเดค เด‰เดฑเดชเตเดชเตเดจเตฝเด•เตเด‚. .

เดจเดฎเตเด•เตเด•เต เด’เดฐเต เดชเตเดคเดฟเดฏ 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 เดตเตˆเดˆ เดฎเต‹เดกเต เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ เด‰เดฆเตเดฆเต‡เดถเดฟเดšเตเดšเดคเดฟเดจเต เดชเตเดฑเดฎเต‡ - เดธเตเดฅเดฒเด‚ เดชเตเดจเตผเดตเดฟเดคเดฐเดฃเด‚ เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ เด’เดฐเต เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เดจเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดกเดพเดฑเตเดฑ เดฎเดฑเตเดฑเตŠเดฐเต เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เดจเดฟเดฒเต‡เด•เตเด•เต เดšเต‹เดฐเตเดจเตเดจเดคเต เดคเดŸเดฏเดพเตป - 64k-เตฝ เดคเดพเดดเต†เดฏเตเดณเตเดณ เดฌเตเดฒเต‹เด•เตเด•เตเด•เดณเดฟเตฝ เด•เตเดฐเดฎเดฐเดนเดฟเดคเดฎเดพเดฏ เดŽเดดเตเดคเตเดคเดฟเดจเตเดฑเต† เดตเต‡เด—เดค เดตเตผเดฆเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดธเต€เดฑเต‹เดฏเดฟเด‚เด—เต เด…เดงเดฟเด•เดฎเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต. เดจเต‡เดฐเดฟเดฏ เดตเต‹เดณเดฟเดฏเดคเตเดคเดฟเดจเตเดฑเต† เดฎเตเดฎเตเดชเต เด…เดจเตเดตเดฆเดฟเดšเตเดšเดฟเดŸเตเดŸเดฟเดฒเตเดฒเดพเดคเตเดค เด’เดฐเต เดเดฐเดฟเดฏเดฏเดฟเดฒเต‡เด•เตเด•เต 64k-เตฝ เดคเดพเดดเต†เดฏเตเดณเตเดณ เดเดคเตŠเดฐเต เดŽเดดเตเดคเตเดคเตเด‚ เด•เดพเดทเต†เดฏเดฟเตฝ 64K เดŽเดกเตเดœเต-เด…เดฒเตˆเตป เด†เดฏเดฟ เดฎเดพเดฑเตเด‚. เด•เดพเดทเต† เดšเต†เดฏเตเดค เด‰เดชเด•เดฐเดฃเดคเตเดคเต† เดฎเดฑเดฟเด•เดŸเดจเตเดจเต เด•เดพเดทเต† เดตเดดเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดจเด‚ เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดจเดŸเดคเตเดคเดพเตป เด‡เดคเต เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเด‚.

เดจเดฎเตเด•เตเด•เต เดŽเตฝเดตเดฟเด•เดณเต† เด…เดจเตเดฌเดจเตเดง เดชเดฟเดตเดฟเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดจเต€เด•เตเด•เดพเด‚:

#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 เดธเต†เด•เตเด•เตปเดกเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต. เดชเด•เตเดคเดฟ เดŸเต†เดธเตเดฑเตเดฑเตเด•เดณเตเด‚ เดฑเต†เด•เตเด•เต‹เตผเดกเดฟเด™เตเด™เดฟเดจเตเดณเตเดณเดคเดพเดฃเต. 4 เดธเต†เด•เตเด•เตปเดกเดฟเดจเตเดณเตเดณเดฟเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต NVMe-เดฏเดฟเตฝ เด’เดฐเตเดชเดพเดŸเต เดฑเต†เด•เตเด•เต‹เตผเดกเต เดšเต†เดฏเตเดฏเดพเด‚. เดธเต†เด•เตเด•เตปเดกเดฟเตฝ 3 เดœเดฟเด—เดพเดฌเตˆเดฑเตเดฑเต เดตเดฐเต†. เด…เดคเดฟเดจเดพเตฝ, เดฑเตˆเดฑเตเดฑเดฟเด‚เด—เต เดŸเต†เดธเตเดฑเตเดฑเตเด•เดณเตเดŸเต† เด“เดฐเต‹ เด“เดŸเตเดŸเดคเตเดคเดฟเดจเตเด‚ เดจเดฟเด™เตเด™เดณเดฟเตฝ เดจเดฟเดจเตเดจเต 216 เดœเดฟเด—เดพเดฌเตˆเดฑเตเดฑเต เดŽเดธเตเดŽเดธเตเดกเดฟ เดฑเดฟเดธเต‹เดดเตเดธเต เดตเดฐเต† เด•เดดเดฟเด•เตเด•เดพเด‚.

เดŽเดดเตเดคเตเดคเตเด‚ เดตเดพเดฏเดจเดฏเตเด‚ เด•เดฒเตผเดจเตเดจเต‹?เด…เดคเต†. เดตเดพเดฏเดจเดฏเตเด‚ เดŽเดดเตเดคเตเดคเตเด‚ เดชเดฐเต€เด•เตเดทเด•เตพ เดตเต†เดตเตเดตเต‡เดฑเต† เดจเดŸเดคเตเดคเตเดจเตเดจเดคเดฟเตฝ เด…เตผเดคเตเดฅเดฎเตเดฃเตเดŸเต. เด•เต‚เดŸเดพเดคเต†, เดŽเดฒเตเดฒเดพ เด•เดพเดทเต†เด•เดณเตเด‚ เดธเดฎเดจเตเดตเดฏเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดŸเตเดŸเตเดฃเตเดŸเต†เดจเตเดจเต เด‰เดฑเดชเตเดชเดพเด•เตเด•เตเดจเตเดจเดคเต เดฏเตเด•เตเดคเดฟเดธเดนเดฎเดพเดฃเต, เด…เดคเดฟเดจเดพเตฝ เดฎเตเดฎเตเดชเต เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เดฟเดฏ เด’เดฐเต เดŽเดดเตเดคเตเดคเต เดตเดพเดฏเดจเดฏเต† เดฌเดพเดงเดฟเด•เตเด•เดฟเดฒเตเดฒ.

เด•เดพเดทเต†เดฏเตเด‚ เดจเต‡เตผเดคเตเดค เดตเต‹เดณเดฟเดฏเดตเตเด‚ เดจเดฟเดฑเดฏเตเดฎเตเดชเต‹เตพ เด†เดฆเตเดฏ เดฒเต‹เดžเตเดšเดฟเดฒเตเด‚ เดคเตเดŸเตผเดจเตเดจเตเดณเตเดณเดตเดฏเดฟเดฒเตเด‚ เดซเดฒเด™เตเด™เดณเดฟเตฝ เดตเดฒเดฟเดฏ เดตเตเดฏเดคเตเดฏเดพเดธเดฎเตเดฃเตเดŸเดพเด•เตเด‚, เด•เต‚เดŸเดพเดคเต† เด…เดตเดธเดพเดจ เดฒเต‹เดžเตเดšเต เดธเดฎเดฏเดคเตเดคเต เดชเต‚เดฐเดฟเดชเตเดชเดฟเดšเตเดš เด•เดพเดทเต†เด•เตพ เดธเดฎเดจเตเดตเดฏเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเต เด•เดดเดฟเดžเตเดžเต‹ เดŽเดจเตเดจเดคเดฟเดจเต† เด†เดถเตเดฐเดฏเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเด‚.

เดฎเดฑเตเดฑเต เด•เดพเดฐเตเดฏเด™เตเด™เดณเดฟเตฝ, เด’เดฐเต เดธเตโ€Œเดจเดพเดชเตเดชเตเดทเต‹เดŸเตเดŸเต เดŽเดŸเตเดคเตเดค เด’เดฐเต เดชเต‚เตผเดฃเตเดฃ เดจเต‡เตผเดคเตเดค เดตเต‹เดณเตเดฏเดคเตเดคเดฟเตฝ เดตเต‡เด—เดค เด…เดณเด•เตเด•เดพเตป เดžเดพเตป เดถเตเดชเดพเตผเดถ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เด†เดฆเตเดฏ เดธเตโ€Œเดจเดพเดชเตเดชเตโ€Œเดทเต‹เดŸเตเดŸเต เดธเตƒเดทเตโ€ŒเดŸเดฟเดšเตเดš เด‰เดŸเตป เดคเดจเตเดจเต† เด•เตเดฐเดฎเดฐเดนเดฟเดคเดฎเดพเดฏ เดŽเดดเตเดคเตเดคเตเด•เตพ เดŽเด™เตเด™เดจเต† เด•เตเดคเตเดคเดจเต† เดคเตเดตเดฐเดฟเดคเดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจเตเดตเต†เดจเตเดจเต เดจเดฟเดฐเต€เด•เตเดทเดฟเด•เตเด•เดพเตป เดฐเดšเดฏเดฟเดคเดพเดตเดฟเดจเต เด…เดตเดธเดฐเด‚ เดฒเดญเดฟเดšเตเดšเต, เดชเตเดฐเดคเตเดฏเต‡เด•เดฟเดšเตเดšเตเด‚ เด•เดพเดทเต† เด‡เดคเตเดตเดฐเต† เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดจเดฟเดฑเดžเตเดžเดฟเดŸเตเดŸเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ. เด•เต‹เดชเตเดชเดฟ-เด“เตบ-เดฑเตˆเดฑเตเดฑเต เดฑเตˆเดฑเตเดฑเต เดธเต†เดฎเดพเดจเตเดฑเดฟเด•เตโ€Œเดธเต, เด•เดพเดทเต†เดฏเตเดŸเต†เดฏเตเด‚ เดจเต‡เตผเดคเตเดค เดตเต‹เดณเดฟเดฏเด‚ เดฌเตเดฒเต‹เด•เตเด•เตเด•เดณเตเดŸเต†เดฏเตเด‚ เด…เดฒเตˆเตปเดฎเต†เดจเตเดฑเต, เด•เต‚เดŸเดพเดคเต† เดฑเต†เดฏเตโ€Œเดกเต 6-เดฒเต‡เด•เตเด•เตเดณเตเดณ เดฑเดพเตปเดกเด‚ เดฑเตˆเดฑเตเดฑเต, เดฑเต†เดฏเตโ€Œเดกเต 6-เตฝ เดจเดฟเดจเตเดจเต เดฑเดพเตปเดกเด‚ เดฑเต€เดกเดพเดฏเดฟ เดฎเดพเดฑเตเด•เดฏเตเด‚ เดคเตเดŸเตผเดจเตเดจเต เด•เดพเดทเต†เดฏเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เด’เดฐเต เดฑเตˆเดฑเตเดฑเต เดŽเดจเตเดจเดฟเดต เด•เดพเดฐเดฃเด‚ เด‡เดคเต เดธเด‚เดญเดตเดฟเด•เตเด•เตเดจเตเดจเต. เดžเด™เตเด™เดณเตเดŸเต† เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเดจเดฟเตฝ, RAID 6-เตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดฑเดพเตปเดกเด‚ เดฑเต€เดกเดฟเด‚เด—เต เดฑเตˆเดฑเตเดฑเดฟเดจเต†เด•เตเด•เดพเตพ 6 เดฎเดŸเด™เตเด™เต (เด…เดฑเต‡เดฏเดฟเดฒเต† SATA SSD-เด•เดณเตเดŸเต† เดŽเดฃเตเดฃเด‚) เดตเต‡เด—เดคเตเดคเดฟเดฒเดพเดฃเต. เด•เดพเดฐเดฃเด‚ เดชเดถเตเดตเดฟเดจเดพเดฏเตเดณเตเดณ เดฌเตเดฒเต‹เด•เตเด•เตเด•เตพ เด’เดฐเต เดจเต‡เตผเดคเตเดค เด•เตเดณเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เด•เตเดฐเดฎเดพเดจเตเด—เดคเดฎเดพเดฏเดฟ เด…เดจเตเดตเดฆเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เดคเตเดŸเตผเดจเตเดจเต เดฑเต†เด•เตเด•เต‹เตผเดกเดฟเด‚เด—เตเด‚ เดฎเดฟเด•เตเด•เดตเดพเดฑเตเด‚ เดธเต€เด•เตเดตเตปเดทเตเดฏเดฒเดพเดฏเดฟ เดฎเดพเดฑเตเดจเตเดจเต.

เดˆ เดฐเดฃเตเดŸเต เดธเดตเดฟเดถเต‡เดทเดคเด•เดณเตเด‚ เดจเดฟเด™เตเด™เดณเตเดŸเต† เดจเต‡เดŸเตเดŸเดคเตเดคเดฟเดจเดพเดฏเดฟ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเด‚.

เด•เดพเดทเต† "เด•เต‹เดนเดฑเดจเตเดฑเต" เดธเตเดจเดพเดชเตเดชเตเดทเต‹เดŸเตเดŸเตเด•เตพ

เด•เดพเดทเต† เด•เต‡เดŸเตเดชเดพเดŸเตเด•เตพ/เดจเดทเตโ€ŒเดŸเดฎเตเดฃเตเดŸเดพเดฏเดพเตฝ เดกเดพเดฑเตเดฑเดพ เดจเดทเตโ€ŒเดŸเดคเตเดคเดฟเตปเตเดฑเต† เด…เดชเด•เดŸเดธเดพเดงเตเดฏเดค เด•เตเดฑเดฏเตเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เดˆ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ เด…เดตเดฏเตเดŸเต† เดธเดฎเด—เตเดฐเดค เด‰เดฑเดชเตเดชเตเดจเตฝเด•เตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ เดธเตโ€Œเดจเดพเดชเตเดชเตเดทเต‹เดŸเตเดŸเตเด•เตพ เดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดฐเต€เดคเดฟ เด…เดตเดคเดฐเดฟเดชเตเดชเดฟเด•เตเด•เดพเตป เดฐเดšเดฏเดฟเดคเดพเดตเต เดจเดฟเตผเดฆเตเดฆเต‡เดถเดฟเด•เตเด•เตเดจเตเดจเต.

เด†เดฆเตเดฏเด‚, เด•เดพเดทเต† เดšเต†เดฏเตเดฏเดพเดคเตเดค เด‰เดชเด•เดฐเดฃเดคเตเดคเดฟเตฝ เดจเต‡เตผเดคเตเดค เดตเต‹เดณเดฟเดฏเด‚ เดฎเต†เดฑเตเดฑเดพเดกเดพเดฑเตเดฑ เดตเดธเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเดพเตฝ, เดฎเต†เดฑเตเดฑเดพเดกเดพเดฑเตเดฑ เดธเตเดฅเดฟเดฐเดคเดฏเตเดณเตเดณเดคเตเด‚ เดธเดพเดงเตเดฏเดฎเดพเดฏ เดจเดทเตเดŸเด™เตเด™เตพ เดกเดพเดฑเตเดฑ เดฌเตเดฒเต‹เด•เตเด•เตเด•เดณเดฟเตฝ เด’เดฑเตเดฑเดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจเดคเตเดฎเดพเดฃเต.

เด•เดพเดทเต† เดจเดทเตโ€ŒเดŸเดชเตเดชเต†เดŸเตเดฎเตเดชเต‹เตพ เดธเตโ€Œเดจเดพเดชเตเดชเตโ€Œเดทเต‹เดŸเตเดŸเตเด•เตพเด•เตเด•เตเดณเตเดณเดฟเดฒเต† เดกเดพเดฑเตเดฑเดฏเตเดŸเต† เดธเดฎเด—เตเดฐเดค เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดธเตโ€Œเดจเดพเดชเตเดชเตโ€Œเดทเต‹เดŸเตเดŸเต เดฑเตŠเดŸเตเดŸเต‡เดทเตป เดธเตˆเด•เตเด•เดฟเตพ เด‰เดฑเดชเตเดชเต เดจเตฝเด•เตเดจเตเดจเต:

  1. <name> เดŽเดจเตเดจ เดชเต‡เดฐเตเดณเตเดณ เด“เดฐเต‹ เดจเต‡เตผเดคเตเดค เดตเต‹เดณเตเดฏเดคเตเดคเดฟเดจเตเด‚, <name>.cached เดŽเดจเตเดจ เดชเต‡เดฐเดฟเตฝ เด’เดฐเต เดธเตโ€Œเดจเดพเดชเตเดชเตโ€Œเดทเต‹เดŸเตเดŸเต เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เตเด•
  2. เดฎเตˆเด—เตเดฐเต‡เดทเตป เดชเดฐเดฟเดงเดฟ เดจเตเดฏเดพเดฏเดฎเดพเดฏ เด‰เดฏเตผเดจเตเดจ เดฎเต‚เดฒเตเดฏเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดธเดœเตเดœเดฎเดพเด•เตเด•เดพเด‚: #lvchange --quiet --cachesettings "migration_threshold=16384" cache/cachedata
  3. เดฒเต‚เดชเตเดชเดฟเตฝ เด•เดพเดทเต†เดฏเดฟเดฒเต† เดตเตƒเดคเตเดคเดฟเด•เต†เดŸเตเดŸ เดฌเตเดฒเต‹เด•เตเด•เตเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเด‚ เดžเด™เตเด™เตพ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเดจเตเดจเต: #lvs --rows --reportformat basic --quiet -ocache_dirty_blocks cache/cachedata | awk '{print $2}' เดจเดฎเตเด•เตเด•เต เดชเต‚เดœเตเดฏเด‚ เดฒเดญเดฟเด•เตเด•เตเดจเตเดจเดคเตเดตเดฐเต†. เดตเดณเดฐเต†เด•เตเด•เดพเดฒเด‚ เดชเต‚เดœเตเดฏเด‚ เด•เดพเดฃเตเดจเตเดจเดฟเดฒเตเดฒ เดŽเด™เตเด•เดฟเตฝ, เดคเดพเตฝเด•เตเด•เดพเดฒเดฟเด•เดฎเดพเดฏเดฟ เด•เดพเดทเต† เดฑเตˆเดฑเตเดฑเตเดคเตเดฐเต‚ เดฎเต‹เดกเดฟเดฒเต‡เด•เตเด•เต เดฎเดพเดฑเตเดฑเดฟเด•เตเด•เตŠเดฃเตเดŸเต เด…เดคเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เดžเด™เตเด™เดณเตเดŸเต† SATA, NVMe SSD เด…เดฑเต‡เด•เดณเตเดŸเต† เดธเตเดชเต€เดกเต เดธเดตเดฟเดถเต‡เดทเดคเด•เดณเตเด‚ เด…เดตเดฏเตเดŸเต† TBW เดฑเดฟเดธเต‹เดดเตเดธเตเด‚ เด•เดฃเด•เตเด•เดฟเดฒเต†เดŸเตเด•เตเด•เตเดฎเตเดชเต‹เตพ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด’เดจเตเดจเตเด•เดฟเตฝ เด•เดพเดทเต† เดฎเต‹เดกเต เดฎเดพเดฑเตเดฑเดพเดคเต† เดคเดจเตเดจเต† เดจเดฟเดฎเดฟเดทเด‚ เดชเดฟเดŸเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเด‚, เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดจเดฟเด™เตเด™เดณเตเดŸเต† เดนเดพเตผเดกเตโ€Œเดตเต†เดฏเตผ เด…เดคเดฟเดจเตเดฑเต† เดฎเตเดดเตเดตเตป เดฑเดฟเดธเต‹เดดเตโ€Œเดธเตเด‚ เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดจเดถเดฟเดชเตเดชเดฟเด•เตเด•เตเด‚. เด•เตเดฑเดšเตเดšเต เดฆเดฟเดตเดธเด‚. เดฑเดฟเดธเต‹เดดเตเดธเต เดชเดฐเดฟเดฎเดฟเดคเดฟเด•เตพ เด•เดพเดฐเดฃเด‚, เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเต, เดคเดคเตเดตเดคเตเดคเดฟเตฝ, เดŽเดฒเตเดฒเดพ เดธเดฎเดฏเดคเตเดคเตเด‚ 100% เดฑเตˆเดฑเตเดฑเต เดฒเต‹เดกเดฟเตฝ เดคเดพเดดเต†เดฏเดพเดฏเดฟเดฐเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ. 100% เดฑเตˆเดฑเตเดฑเต เดฒเต‹เดกเดฟเดจเต เดคเดพเดดเต†เดฏเตเดณเตเดณ เดžเด™เตเด™เดณเตเดŸเต† NVMe SSD-เด•เตพ เดฑเดฟเดธเต‹เดดเตโ€Œเดธเดฟเดจเต† เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตเด‚ XXX - 3 เดฆเดฟเดตเดธเด‚. SATA SSD-เด•เตพ เด‡เดฐเดŸเตเดŸเดฟ เดฆเตˆเตผเด˜เตเดฏเด‚ เดฎเดพเดคเตเดฐเดฎเต‡ เดจเดฟเดฒเดจเดฟเตฝเด•เตเด•เต‚. เด…เดคเดฟเดจเดพเตฝ, เดฒเต‹เดกเดฟเดจเตเดฑเต† เดญเต‚เดฐเดฟเดญเดพเด—เดตเตเด‚ เดตเดพเดฏเดจเดฏเดฟเดฒเต‡เด•เตเด•เดพเดฃเต เดชเต‹เด•เตเดจเตเดจเดคเต†เดจเตเดจเต เดžเด™เตเด™เตพ เด…เดจเตเดฎเดพเดจเดฟเด•เตเด•เตเด‚, เด•เต‚เดŸเดพเดคเต† เดŽเดดเตเดคเตเดคเดฟเดจเดพเดฏเดฟ เดถเดฐเดพเดถเดฐเดฟ เด•เตเดฑเดžเตเดž เดฒเต‹เดกเตเด‚ เด•เต‚เดŸเดฟเดšเตเดšเต‡เตผเดจเตเดจเต เดตเดณเดฐเต† เด‰เดฏเตผเดจเตเดจ เดชเตเดฐเดตเตผเดคเตเดคเดจเดคเตเดคเดฟเดจเตเดฑเต† เดคเดพเดฐเดคเดฎเตเดฏเต‡เดจ เดนเตเดฐเดธเตเดตเด•เดพเดฒ เดชเตŠเดŸเตเดŸเดฟเดคเตเดคเต†เดฑเดฟเด•เดณเตเด‚ เดžเด™เตเด™เตพเด•เตเด•เตเดฃเตเดŸเต.
  4. เดžเด™เตเด™เตพ เด’เดฐเต เดชเต‚เดœเตเดฏเด‚ เดชเดฟเดŸเดฟเดšเตเดšเดพเตฝ (เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด‰เดฃเตเดŸเดพเด•เตเด•เดฟเดฏเดพเตฝ), เดžเด™เตเด™เตพ <name>.cached <name>.committed เดŽเดจเตเดจเต เดชเตเดจเตผเดจเดพเดฎเด•เดฐเดฃเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เดชเดดเดฏ <name>.committed เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เดฟ.
  5. เด“เดชเตเดทเดฃเดฒเดพเดฏเดฟ, เด•เดพเดทเต† 100% เดจเดฟเดฑเดžเตเดžเดฟเดŸเตเดŸเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ, เด…เดคเต เด’เดฐเต เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเตเดจเตผเดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเด‚, เด…เด™เตเด™เดจเต† เด…เดคเต เดฎเดพเดฏเตโ€Œเด•เตเด•เตเดจเตเดจเต. เดชเด•เตเดคเดฟ เดถเต‚เดจเตเดฏเดฎเดพเดฏ เด•เดพเดทเต† เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต, เดŽเดดเตเดคเตเดฎเตเดชเต‹เตพ เดธเดฟเดธเตเดฑเตเดฑเด‚ เดตเดณเดฐเต† เดตเต‡เด—เดคเตเดคเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต.
  6. เดฎเตˆเด—เตเดฐเต‡เดทเตป เดคเตเดฐเต†เดทเต‹เตพเดกเต เดชเต‚เดœเตเดฏเดฎเดพเดฏเดฟ เดธเดœเตเดœเดฎเดพเด•เตเด•เตเด•: #lvchange --quiet --cachesettings "migration_threshold=0" cache/cachedata เด‡เดคเต เด•เดพเดทเต† เดชเตเดฐเดงเดพเดจ เดฎเต€เดกเดฟเดฏเดฏเดฟเดฒเต‡เด•เตเด•เต เดธเดฎเดจเตเดตเดฏเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดคเดพเตฝเด•เตเด•เดพเดฒเดฟเด•เดฎเดพเดฏเดฟ เดคเดŸเดฏเตเด‚.
  7. เด•เดพเดทเต†เดฏเดฟเตฝ เดงเดพเดฐเดพเดณเด‚ เดฎเดพเดฑเตเดฑเด™เตเด™เตพ เดถเต‡เด–เดฐเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเดคเตเดตเดฐเต† เดžเด™เตเด™เตพ เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต #lvs --rows --reportformat basic --quiet -ocache_dirty_blocks cache/cachedata | awk '{print $2}' เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดŸเตˆเดฎเตผ เด“เดซเดพเด•เตเด‚.
  8. เดžเด™เตเด™เตพ เดตเต€เดฃเตเดŸเตเด‚ เด†เดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต.

เดฎเตˆเด—เตเดฐเต‡เดทเตป เดคเตเดฐเต†เดทเต‹เตพเดกเดฟเดฒเต† เดฌเตเดฆเตเดงเดฟเดฎเตเดŸเตเดŸเตเด•เตพ เดŽเดจเตเดคเตเด•เตŠเดฃเตเดŸเต...?เดฏเดฅเดพเตผเดคเตเดฅ เดชเตเดฐเดฏเต‹เด—เดคเตเดคเดฟเตฝ, เด’เดฐเต "เดฑเดพเตปเดกเด‚" เดฑเต†เด•เตเด•เต‹เตผเดกเดฟเด‚เด—เต เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เด•เตเดฐเดฎเดฐเดนเดฟเดคเดฎเดฒเตเดฒ เดŽเดจเตเดจเดคเดพเดฃเต เด•เดพเดฐเตเดฏเด‚. 4 เด•เดฟเดฒเต‹เดฌเตˆเดฑเตเดฑเต เดตเดฒเตเดชเตเดชเดฎเตเดณเตเดณ เด’เดฐเต เดธเต†เด•เตเดŸเดฑเดฟเดฒเต‡เด•เตเด•เต เดžเด™เตเด™เตพ เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดŽเดดเตเดคเดฟเดฏเดพเตฝ, เด…เดŸเตเดคเตเดค เดฐเดฃเตเดŸเต เดฎเดฟเดจเดฟเดฑเตเดฑเดฟเดจเตเดณเตเดณเดฟเตฝ เด…เดคเต‡ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด…เดฏเตฝ (+- 32K) เดธเต†เด•เตเดŸเดฑเตเด•เดณเดฟเตฝ เด’เดจเตเดจเดฟเตฝ เด’เดฐเต เดฑเต†เด•เตเด•เต‹เตผเดกเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดชเตเดชเต†เดŸเดพเดจเตเดณเตเดณ เด‰เดฏเตผเดจเตเดจ เดธเดพเดงเตเดฏเดคเดฏเตเดฃเตเดŸเต.

เดฎเตˆเด—เตเดฐเต‡เดทเตป เดคเตเดฐเต†เดทเต‹เตพเดกเต เดชเต‚เดœเตเดฏเดฎเดพเดฏเดฟ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต†, เดžเด™เตเด™เตพ SATA SSD-เดฏเดฟเตฝ เดธเดฎเดจเตเดตเดฏเด‚ เดŽเดดเตเดคเตเดจเตเดจเดคเต เดฎเดพเดฑเตเดฑเดฟเดตเดฏเตเด•เตเด•เตเด•เดฏเตเด‚ เด•เดพเดทเต†เดฏเดฟเดฒเต† เด’เดฐเต 64K เดฌเตเดฒเต‹เด•เตเด•เดฟเดฒเต‡เด•เตเด•เต เดจเดฟเดฐเดตเดงเดฟ เดฎเดพเดฑเตเดฑเด™เตเด™เตพ เด•เต‚เดŸเตเดŸเดฟเดšเตเดšเต‡เตผเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เด‡เดคเต SATA SSD-เดฏเตเดŸเต† เด‰เดฑเดตเดฟเดŸเด‚ เด—เดฃเตเดฏเดฎเดพเดฏเดฟ เดธเด‚เดฐเด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเต.

เด•เต‹เดกเต เดŽเดตเดฟเดŸเต†..?เดจเดฟเตผเดญเดพเด—เตเดฏเดตเดถเดพเตฝ, เดฐเดšเดฏเดฟเดคเดพเดตเต เดฌเดพเดทเต เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเตเด•เดณเตเดŸเต† เดตเดฟเด•เดธเดจเดคเตเดคเดฟเตฝ เดคเดจเดฟเด•เตเด•เต เดตเต‡เดฃเตเดŸเดคเตเดฐ เด•เดดเดฟเดตเดฟเดฒเตเดฒเต†เดจเตเดจเต เด•เดฐเตเดคเตเดจเตเดจเต, เด•เดพเดฐเดฃเด‚ เด…เดตเตป 100% เดธเตเดตเดฏเด‚ เดชเด เดฟเดชเตเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ "เด—เต‚เด—เดฟเตพ" เดตเดดเดฟเดฏเตเดณเตเดณ เดตเดฟเด•เดธเดจเด‚ เดชเดฐเดฟเดถเต€เดฒเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต, เด…เดคเดฟเดจเดพเตฝ เดคเดจเตเดฑเต† เด•เตˆเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเดฐเตเดจเตเดจ เดญเดฏเดพเดจเด•เดฎเดพเดฏ เด•เต‹เดกเต เด†เดฐเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดฐเตเดคเต†เดจเตเดจเต เด…เดฆเตเดฆเต‡เดนเด‚ เดตเดฟเดถเตเดตเดธเดฟเด•เตเด•เตเดจเตเดจเต. เดตเต‡เดฑเต†.

เดˆ เดฎเต‡เด–เดฒเดฏเดฟเดฒเต† เดชเตเดฐเตŠเดซเดทเดฃเดฒเตเด•เตพเด•เตเด•เต เด†เดตเดถเตเดฏเดฎเต†เด™เตเด•เดฟเตฝ เดฎเตเด•เดณเดฟเตฝ เดตเดฟเดตเดฐเดฟเดšเตเดš เดŽเดฒเตเดฒเดพ เดฏเตเด•เตเดคเดฟเด•เดณเตเด‚ เดธเตเดตเดคเดจเตเดคเตเดฐเดฎเดพเดฏเดฟ เดšเดฟเดคเตเดฐเต€เด•เดฐเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเดฎเต†เดจเตเดจเต เดžเดพเตป เด•เดฐเตเดคเตเดจเตเดจเต, เด•เต‚เดŸเดพเดคเต†, เด’เดฐเตเดชเด•เตเดทเต‡, เดฐเดšเดฏเดฟเดคเดพเดตเต เดšเต†เดฏเตเดฏเดพเตป เดถเตเดฐเดฎเดฟเดšเตเดšเดคเตเดชเต‹เดฒเต†, เด’เดฐเต systemd เดธเต‡เดตเดจเดฎเดพเดฏเดฟ เดฎเดจเต‹เดนเดฐเดฎเดพเดฏเดฟ เดฐเต‚เดชเด•เตฝเดชเตเดชเดจ เดšเต†เดฏเตเดฏเดพเตป เดชเต‹เดฒเตเด‚.

เด…เดคเตเดคเดฐเดฎเตŠเดฐเต เดฒเดณเดฟเดคเดฎเดพเดฏ เดธเตโ€Œเดจเดพเดชเตเดชเตโ€Œเดทเต‹เดŸเตเดŸเต เดฑเตŠเดŸเตเดŸเต‡เดทเตป เดธเตเด•เต€เด‚, 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' เดฎเต‹เดกเตฝ='เดตเดฟเตผเดŸเตเดŸเดฟเดฏเต‹-เดŽเดธเตโ€Œเดธเดฟโ€ŒเดŽเดธเตโ€Œเด'>




เด—เดธเตเดฑเตเดฑเต เด’เดŽเดธเตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เด‡เดคเตเดคเดฐเด‚ เดกเดฟเดธเตโ€Œเด•เดพเตผเดกเตเด•เตพ เดŽเตฝเดตเดฟเดŽเด‚ เดถเดฐเดฟเดฏเดพเดฏเดฟ เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต, เด•เดพเดทเต†เดฏเดฟเดฒเตเด‚ เดจเต‡เตผเดคเตเดค เดชเต‚เดณเดฟเดฒเตเด‚ เดฌเตเดฒเต‹เด•เตเด•เตเด•เตพ เดถเดฐเดฟเดฏเดพเดฏเดฟ เดธเตเดตเดคเดจเตเดคเตเดฐเดฎเดพเด•เตเด•เดชเตเดชเต†เดŸเตเดจเตเดจเต. เดžเด™เตเด™เดณเตเดŸเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ, เด…เดŸเตเดคเตเดค เดธเตเดจเดพเดชเตเดชเตเดทเต‹เดŸเตเดŸเต เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตเดฎเตเดชเต‹เตพ, เด‡เดคเต เดชเตเดฐเดงเดพเดจเดฎเดพเดฏเตเด‚ เด•เดพเดฒเดคเดพเดฎเดธเด‚ เดจเต‡เดฐเดฟเดŸเตเดจเตเดจ เดฐเต€เดคเดฟเดฏเดฟเดฒเดพเดฃเต เดธเด‚เดญเดตเดฟเด•เตเด•เตเดจเตเดจเดคเต.

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 เดกเดฟเดซเต‹เตพเดŸเตเดŸเตเด•เตพ,space_cache,noatime,nodiratime 0 2
/dev/mapper/backup-backup /backup/btrfs/back btrfs เดกเดฟเดซเต‹เตพเดŸเตเดŸเตเด•เตพ,space_cache,noatime,nodiratime 0 2
EOF
#เดฎเต—เดฃเตเดŸเต -เดŽ
#เด…เดชเตเดกเต‡เดฑเตเดฑเต-เด‡เดจเดฟเดŸเตเดฐเดพเด‚เดซเตเดธเต -u
#เด…เดชเตเดกเต‡เดฑเตเดฑเต-เด—เตเดฐเดฌเต

เดฌเดพเด•เตเด•เดชเตเดชเตเด•เตพเด•เตเด•เดพเดฏเดฟ เดจเดฎเตเด•เตเด•เต เดกเดฏเดฑเด•เตเดŸเดฑเดฟเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเด‚:

#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="$(เดฑเดฟเดฏเตฝเดชเดพเดคเตเดคเต $0)"
SCRIPT_DIR="$(เดกเดฏเดฑเด•เตเดŸเต เดจเดพเดฎเด‚ $SCRIPT_FILE)"
SCRIPT_NAME="$(เดฌเต‡เดธเต เดจเต†เดฏเดฟเด‚ -s .sh $SCRIPT_FILE)"

เดฒเต‹เด•เตเด•เต_เดซเดฏเตฝ="/dev/shm/$SCRIPT_NAME.เดฒเต‹เด•เตเด•เต"
เดคเต€เดฏเดคเดฟ_PREFIX='%Y-%m-%d'
เดคเต€เดฏเดคเดฟ_เดซเต‹เตผเดฎเดพเดฑเตเดฑเต=$เดคเต€เดฏเดคเดฟ_เดชเตเดฐเต€เดซเดฟเด•เตเดธเต'-%เดŽเดšเตเดšเต-%เดŽเด‚-%เดŽเดธเต'
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]'
เดฌเต‡เดธเต_เดธเดซเดฟเด•เตเดธเต = ".@เดฌเต‡เดธเต"
เดชเต†เตปเดกเต_เดธเดซเดฟเด•เตเดธเต=".@เดชเต†เตปเดกเต"
SNAP_SUFFIX=".@เดธเตเดจเดพเดชเตเดชเต"
เดฎเตŒเดฃเตเดŸเตเด•เตพ="/เดฌเดพเด•เตเด•เดชเตเดชเต/btrfs/"
เดฌเดพเด•เตเด•เดชเตเดชเตเด•เตพ="/เดฌเดพเด•เตเด•เดชเตเดชเต/btrfs/เดฌเดพเด•เตเด•เต/เดฑเดฟเดฎเต‹เดŸเตเดŸเต/"

เดซเด‚เด—เตเดทเตป เดŸเต†เตผเดฎเดฟเดจเต‡เดฑเตเดฑเต()
{
เดŽเด•เตเด•เต‹ "$1" >&2
เดชเตเดฑเดคเตเดคเตเด•เดŸเด•เตเด•เตเด• 1
}

เดซเด‚เด—เตเดทเตป wait_lock()
{
เด†เดŸเตเดŸเดฟเตปเด•เต‚เดŸเตเดŸเด‚ 98
}

เดซเด‚เด—เตเดทเตป wait_lock_or_terminate()
{
เดŽเด•เตเด•เต‹ "เดฒเต‹เด•เตเด•เดฟเดจเดพเดฏเดฟ เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต..."
wait_lock || เด…เดตเดธเดพเดจเดฟเดชเตเดชเดฟเด•เตเด•เตเด• "เดฒเต‹เด•เตเด•เต เดจเต‡เดŸเตเดจเตเดจเดคเดฟเตฝ เดชเดฐเดพเดœเดฏเดชเตเดชเต†เดŸเตเดŸเต. เดชเตเดฑเดคเตเดคเตเด•เดŸเด•เตเด•เตเดจเตเดจเต..."
เดŽเด•เตเด•เต‹ "เดฒเต‹เด•เตเด•เต เด•เดฟเดŸเตเดŸเดฟ..."
}

เดซเด‚เด—เตเดทเตป เดธเดซเดฟเด•เตเดธเต()
{
FORMATTED_DATE=$(เดคเต€เดฏเดคเดฟ +"$DATE_FORMAT")
เดŽเด•เตเด•เต‹ "$SNAP_SUFFIX.$FORMATTED_DATE"
}

เดซเด‚เด—เตเดทเตป เดซเดฟเตฝเดฑเตเดฑเตผ()
{
เดซเต‹เตผเดฎเดพเดฑเตเดฑเต เดšเต†เดฏเตเดค_เดคเต€เดฏเดคเดฟ=$(เดคเต€เดฏเดคเดฟ --เดคเต€เดฏเดคเดฟ="$1" +"$DATE_PREFIX")
เดŽเด•เตเด•เต‹ "$SNAP_SUFFIX.$FORMATTED_DATE"
}

เดซเด‚เด—เตเดทเตป เดฌเดพเด•เตเด•เดชเตเดชเต()
{
SOURCE_PATH="$mounts$1"
TARGET_PATH="$เดฌเดพเด•เตเด•เดชเตเดชเตเด•เตพ$1"
SOURCE_BASE_PATH="$MOUNTS$1$BASE_SUFFIX"
TARGET_BASE_PATH="$BACKUPS$1$BASE_SUFFIX"
TARGET_BASE_DIR="$(เดกเดฏเดฑเด•เตเดŸเตผ เดจเดพเดฎเด‚ $TARGET_BASE_PATH)"
SOURCE_PEND_PATH="$เดฎเต—เดฃเตเดŸเตเด•เตพ$1$PEND_SUFFIX"
TARGET_PEND_PATH="$เดฌเดพเด•เตเด•เดชเตเดชเตเด•เตพ$1$PEND_SUFFIX"
[ -d "$SOURCE_BASE_PATH" ] เด†เดฃเต†เด™เตเด•เดฟเตฝ
เด…เดชเตเดชเต‡เดพเดณเต
เดŽเด•เตเด•เต‹ "$SOURCE_BASE_PATH เด•เดฃเตเดŸเต†เดคเตเดคเดฟ"
เดฎเดฑเตเดฑเดพเดฐเต†เด™เตเด•เดฟเดฒเตเด‚
echo "$SOURCE_BASE_PATH เดŽเดจเตเดจเดคเดฟเดจเตเดฑเต† เดธเตเดจเดพเดชเตเดชเตเดทเต‹เดŸเตเดŸเต $SOURCE_PATH เดฏเดฟเตฝ เดจเดฟเดจเตเดจเต $SOURCE_BASE_PATH เดฒเต‡เด•เตเด•เต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจ เดซเดฏเตฝ เด•เดฃเตเดŸเต†เดคเตเดคเดฟเดฏเดฟเดฒเตเดฒ"
btrfs เดธเดฌเตโ€Œเดตเต‹เดณเดฟเดฏเด‚ เดธเตเดจเดพเดชเตเดชเตเดทเต‹เดŸเตเดŸเต -r $SOURCE_PATH $SOURCE_BASE_PATH
เดธเดฎเดจเตเดตเดฏเด‚
[ -d "$TARGET_BASE_PATH" ] เด†เดฃเต†เด™เตเด•เดฟเตฝ
เด…เดชเตเดชเต‡เดพเดณเต
echo "$TARGET_BASE_PATH เด‰เดฑเดตเดฟเดŸเดตเตเดฎเดพเดฏเดฟ เดธเดฎเดจเตเดตเดฏเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒเต†เดจเตเดจเต เด•เดฃเตเดŸเต†เดคเตเดคเดฟ... เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต..."
btrfs เดธเดฌเตโ€Œเดตเต‹เดณเดฟเดฏเด‚ เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตเด• -c $TARGET_BASE_PATH
เดธเดฎเดจเตเดตเดฏเด‚
fi
fi
[ -d "$TARGET_BASE_PATH" ] เด†เดฃเต†เด™เตเด•เดฟเตฝ
เด…เดชเตเดชเต‡เดพเดณเต
เดŽเด•เตเด•เต‹ "$TARGET_BASE_PATH เด•เดฃเตเดŸเต†เดคเตเดคเดฟ"
เดฎเดฑเตเดฑเดพเดฐเต†เด™เตเด•เดฟเดฒเตเด‚
echo "$TARGET_BASE_PATH เด•เดฃเตเดŸเต†เดคเตเดคเดฟเดฏเดฟเดฒเตเดฒ. $TARGET_BASE_DIR เดฒเต‡เด•เตเด•เต เดธเดฎเดจเตเดตเดฏเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต"
btrf-เด•เตพ $SOURCE_BASE_PATH เด…เดฏเดฏเตเด•เตเด•เตเดจเตเดจเต | btrf-เด•เตพเด•เตเด•เต $TARGET_BASE_DIR เดฒเดญเดฟเด•เตเด•เตเดจเตเดจเต
เดธเดฎเดจเตเดตเดฏเด‚
fi
[ -d "$SOURCE_PEND_PATH" ] เด†เดฃเต†เด™เตเด•เดฟเตฝ
เด…เดชเตเดชเต‡เดพเดณเต
echo "$SOURCE_PEND_PATH เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เด•เดฃเตเดŸเต†เดคเตเดคเดฟ..."
btrfs เดธเดฌเตโ€Œเดตเต‹เดณเดฟเดฏเด‚ เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตเด• -c $SOURCE_PEND_PATH
เดธเดฎเดจเตเดตเดฏเด‚
fi
btrfs เดธเดฌเตโ€Œเดตเต‹เดณเดฟเดฏเด‚ เดธเตเดจเดพเดชเตเดชเตเดทเต‹เดŸเตเดŸเต -r $SOURCE_PATH $SOURCE_PEND_PATH
เดธเดฎเดจเตเดตเดฏเด‚
[ -d "$TARGET_PEND_PATH" ] เด†เดฃเต†เด™เตเด•เดฟเตฝ
เด…เดชเตเดชเต‡เดพเดณเต
echo "$TARGET_PEND_PATH เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เด•เดฃเตเดŸเต†เดคเตเดคเดฟ..."
btrfs เดธเดฌเตโ€Œเดตเต‹เดณเดฟเดฏเด‚ เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตเด• -c $TARGET_PEND_PATH
เดธเดฎเดจเตเดตเดฏเด‚
fi
เดŽเด•เตเด•เต‹ "$SOURCE_PEND_PATH, $TARGET_PEND_PATH เดฒเต‡เด•เตเด•เต เด…เดฏเดฏเตเด•เตเด•เตเดจเตเดจเต"
btrfs send -p $SOURCE_BASE_PATH $SOURCE_PEND_PATH | btrfs $TARGET_BASE_DIR เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต
เดธเดฎเดจเตเดตเดฏเด‚
TARGET_DATE_SUFFIX=$(เดธเดซเดฟเด•เตเดธเต)
btrfs เดธเดฌเตโ€Œเดตเต‹เดณเดฟเดฏเด‚ เดธเตเดจเดพเดชเตเดชเตเดทเต‹เดŸเตเดŸเต -r $TARGET_PEND_PATH "$TARGET_PATH$TARGET_DATE_SUFFIX"
เดธเดฎเดจเตเดตเดฏเด‚
btrfs เด‰เดชเดตเต‹เดณเตเดฏเด‚ เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตเด• -c $SOURCE_BASE_PATH
เดธเดฎเดจเตเดตเดฏเด‚
btrfs เดธเดฌเตโ€Œเดตเต‹เดณเดฟเดฏเด‚ เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตเด• -c $TARGET_BASE_PATH
เดธเดฎเดจเตเดตเดฏเด‚
เดŽเด‚เดตเดฟ $SOURCE_PEND_PATH $SOURCE_BASE_PATH
เดŽเด‚เดตเดฟ $TARGET_PEND_PATH $TARGET_BASE_PATH
เดธเดฎเดจเตเดตเดฏเด‚
}

เดซเด‚เด—เตเดทเตป เดฒเดฟเดธเตเดฑเตเดฑเต()
{
LIST_TARGET_BASE_PATH="$BACKUPS$1$BASE_SUFFIX"
LIST_TARGET_BASE_DIR="$(เดกเดฏเดฑเด•เตเดŸเตผ เดจเดพเดฎเด‚ $LIST_TARGET_BASE_PATH)"
LIST_TARGET_BASE_NAME="$(เดฌเต‡เดธเต เดจเต†เดฏเดฟเด‚ -s .$BASE_SUFFIX $LIST_TARGET_BASE_PATH)"
"$LIST_TARGET_BASE_DIR" -maxdepth 1 -mindepth 1 -type d -printf "%fn" | grep "${LIST_TARGET_BASE_NAME/$BASE_SUFFIX/$SNAP_SUFFIX}.$DATE_REGEX" เด•เดฃเตเดŸเต†เดคเตเดคเตเด•.
}

เดซเด‚เด—เตเดทเตป เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเตเด•()
{
เดจเต€เด•เตเด•เด‚เดšเต†เดฏเตเดฏเตเด•_TARGET_BASE_PATH="$เดฌเดพเด•เตเด•เดชเตเดชเตเด•เตพ$1$BASE_SUFFIX"
REMOVE_TARGET_BASE_DIR="$(เดกเดฏเดฑเด•เตเดŸเตผ เดจเดพเดฎเด‚ $REMOVE_TARGET_BASE_PATH)"
btrfs เดธเดฌเตโ€Œเดตเต‹เดณเดฟเดฏเด‚ เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตเด• -c $REMOVE_TARGET_BASE_DIR/$2
เดธเดฎเดจเตเดตเดฏเด‚
}

เดซเด‚เด—เตเดทเตป removeall()
{
เดคเต€เดฏเดคเดฟ_เด“เดซเตโ€Œเดธเต†เดฑเตเดฑเต="$2"
เดซเดฟเตฝเดŸเตเดŸเตผ="$("$DATE_OFFSET" เดซเดฟเตฝเดŸเตเดŸเตผ เดšเต†เดฏเตเดฏเตเด•)"
เดตเดพเดฏเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ -r เดธเตเดจเดพเดชเตเดชเตเดทเต‹เดŸเตเดŸเต ; เดšเต†เดฏเตเดฏเตเด•
"$1" "$SNAPSHOT" เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเตเด•
เดšเต†เดฏเตเดคเต <(เดฒเดฟเดธเตเดฑเตเดฑเต "$1" | grep "$FILTER")

}

(
เด•เดฎเดพเตปเดกเต="$1"
เดทเดฟเดซเตเดฑเตเดฑเต

"$COMMAND" เดŽเดจเตเดจ เด•เต‡เดธเต
"--เดธเดนเดพเดฏเด‚")
เดŽเด•เตเด•เต‹ "เดธเดนเดพเดฏเด‚"
;;
"เดธเดซเดฟเด•เตเดธเต")
เดธเดซเดฟเด•เตเดธเต
;;
"เดซเดฟเตฝเดŸเตเดŸเตผ")
"$1" เดซเดฟเตฝเดŸเตเดŸเตผ เดšเต†เดฏเตเดฏเตเด•
;;
"เดฌเดพเด•เตเด•เดชเตเดชเต")
เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเด•_เดฒเต‹เด•เตเด•เต_เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ_เดŸเต†เตผเดฎเดฟเดจเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•
"$1" เดฌเดพเด•เตเด•เดชเตเดชเต เดšเต†เดฏเตเดฏเตเด•
;;
"เดฒเดฟเดธเตเดฑเตเดฑเต")
"$1" เดฒเดฟเดธเตเดฑเตเดฑเต
;;
"เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเตเด•")
เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเด•_เดฒเต‹เด•เตเด•เต_เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ_เดŸเต†เตผเดฎเดฟเดจเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•
"$1" "$2" เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเตเด•
;;
"เดŽเดฒเตเดฒเดพเด‚ เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเตเด•")
เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเด•_เดฒเต‹เด•เตเด•เต_เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ_เดŸเต†เตผเดฎเดฟเดจเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•
"$1" "$2" เดŽเดฒเตเดฒเดพเด‚ เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเตเด•
;;
*)
"เด’เดจเตเดจเตเดฎเดฟเดฒเตเดฒ.." เดŽเดจเตเดจเต เดชเตเดฐเดคเดฟเดงเตเดตเดจเดฟเด•เตเด•เตเด•.
;;
เดธเดฟ
) 98>$LOCK_FILE

EOF

เด…เดคเต เดชเต‹เดฒเตเด‚ เดŽเดจเตเดคเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต..?BTRFS เดธเตเดจเดพเดชเตเดชเตเดทเต‹เดŸเตเดŸเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ BTRFS send/recieve เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฎเดฑเตเดฑเตŠเดฐเต 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="$(เดฑเดฟเดฏเตฝเดชเดพเดคเตเดคเต $0)"
SCRIPT_DIR="$(เดกเดฏเดฑเด•เตเดŸเต เดจเดพเดฎเด‚ $SCRIPT_FILE)"
SCRIPT_NAME="$(เดฌเต‡เดธเต เดจเต†เดฏเดฟเด‚ -s .sh $SCRIPT_FILE)"

BACKUP_SCRIPT="$SCRIPT_DIR/btrfs-backup.sh"
RETENTION="-60 เดฆเดฟเดตเดธเด‚"
$BACKUP_SCRIPT เดฌเดพเด•เตเด•เดชเตเดชเต เดฑเต‚เดŸเตเดŸเต/@
$BACKUP_SCRIPT เดŽเดฒเตเดฒเดพ เดฑเต‚เดŸเตเดŸเตเด‚ เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเตเด•/@ "$RETENTION"
$BACKUP_SCRIPT เดฌเดพเด•เตเด•เดชเตเดชเต เดฑเต‚เดŸเตเดŸเต/@home
$BACKUP_SCRIPT เดŽเดฒเตเดฒเดพ เดฑเต‚เดŸเตเดŸเตเด‚ เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเตเด•/@home "$RETENTION"
$BACKUP_SCRIPT เดฌเดพเด•เตเด•เดชเตเดชเต เดฌเต‚เดŸเตเดŸเต/
$BACKUP_SCRIPT เดŽเดฒเตเดฒเดพ เดฌเต‚เดŸเตเดŸเตเด‚ เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเตเด•/ "$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

เดŽเตฝเดตเดฟเดŽเด‚ เดจเต‡เตผเดคเตเดค เดฌเดพเด•เตเด•เดชเตเดชเต

เดฌเดพเด•เตเด•เดชเตเดชเต เด‰เดชเด•เดฐเดฃเดคเตเดคเดฟเตฝ เดจเดฎเตเด•เตเด•เต เด’เดฐเต เดจเต‡เตผเดคเตเดค เด•เตเดณเด‚ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเด‚:

#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="$(เดฑเดฟเดฏเตฝเดชเดพเดคเตเดคเต $0)"
SCRIPT_DIR="$(เดกเดฏเดฑเด•เตเดŸเต เดจเดพเดฎเด‚ $SCRIPT_FILE)"
SCRIPT_NAME="$(เดฌเต‡เดธเต เดจเต†เดฏเดฟเด‚ -s .sh $SCRIPT_FILE)"

เดฒเต‹เด•เตเด•เต_เดซเดฏเตฝ="/dev/shm/$SCRIPT_NAME.เดฒเต‹เด•เตเด•เต"
เดคเต€เดฏเดคเดฟ_PREFIX='%Y-%m-%d'
เดคเต€เดฏเดคเดฟ_เดซเต‹เตผเดฎเดพเดฑเตเดฑเต=$เดคเต€เดฏเดคเดฟ_เดชเตเดฐเต€เดซเดฟเด•เตเดธเต'-%เดŽเดšเตเดšเต-%เดŽเด‚-%เดŽเดธเต'
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]'
เดฌเต‡เดธเต_เดธเดซเดฟเด•เตเดธเต=".เดฌเต‡เดธเต"
PEND_SUFFIX=".เดšเต†เดฒเดตเต"
SNAP_SUFFIX=".เดธเตเดจเดพเดชเตเดชเต"
เดฌเดพเด•เตเด•เดชเตเดชเตเด•เตพ="เดฌเดพเด•เตเด•เดชเตเดชเต"
BACKUPS_POOL="เดคเดฟเตป-เดชเต‚เตพ"

เด•เดฏเดฑเตเดฑเตเดฎเดคเดฟ เดšเต†เดฏเตเดฏเตเด• LVM_SUPPRESS_FD_WARNINGS=1

เดซเด‚เด—เตเดทเตป เดŸเต†เตผเดฎเดฟเดจเต‡เดฑเตเดฑเต()
{
เดŽเด•เตเด•เต‹ "$1" >&2
เดชเตเดฑเดคเตเดคเตเด•เดŸเด•เตเด•เตเด• 1
}

เดซเด‚เด—เตเดทเตป wait_lock()
{
เด†เดŸเตเดŸเดฟเตปเด•เต‚เดŸเตเดŸเด‚ 98
}

เดซเด‚เด—เตเดทเตป wait_lock_or_terminate()
{
เดŽเด•เตเด•เต‹ "เดฒเต‹เด•เตเด•เดฟเดจเดพเดฏเดฟ เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต..."
wait_lock || เด…เดตเดธเดพเดจเดฟเดชเตเดชเดฟเด•เตเด•เตเด• "เดฒเต‹เด•เตเด•เต เดจเต‡เดŸเตเดจเตเดจเดคเดฟเตฝ เดชเดฐเดพเดœเดฏเดชเตเดชเต†เดŸเตเดŸเต. เดชเตเดฑเดคเตเดคเตเด•เดŸเด•เตเด•เตเดจเตเดจเต..."
เดŽเด•เตเด•เต‹ "เดฒเต‹เด•เตเด•เต เด•เดฟเดŸเตเดŸเดฟ..."
}

เดซเด‚เด—เตเดทเตป เดธเดซเดฟเด•เตเดธเต()
{
FORMATTED_DATE=$(เดคเต€เดฏเดคเดฟ +"$DATE_FORMAT")
เดŽเด•เตเด•เต‹ "$SNAP_SUFFIX.$FORMATTED_DATE"
}

เดซเด‚เด—เตเดทเตป เดซเดฟเตฝเดฑเตเดฑเตผ()
{
เดซเต‹เตผเดฎเดพเดฑเตเดฑเต เดšเต†เดฏเตเดค_เดคเต€เดฏเดคเดฟ=$(เดคเต€เดฏเดคเดฟ --เดคเต€เดฏเดคเดฟ="$1" +"$DATE_PREFIX")
เดŽเด•เตเด•เต‹ "$SNAP_SUFFIX.$FORMATTED_DATE"
}

เดซเด‚เด—เตเดทเตป read_thin_id {
lvs --rows --reportformat เด…เดŸเดฟเดธเตเดฅเดพเดจ --quiet -othin_id "$1/$2" | awk '{print $2}'
}

เดซเด‚เด—เตเดทเตป read_pool_lv {
lvs --rows --reportformat เด…เดŸเดฟเดธเตเดฅเดพเดจ --quiet -opool_lv "$1/$2" | awk '{print $2}'
}

เดซเด‚เด—เตเดทเตป read_lv_dm_path {
lvs --rows --reportformat เด…เดŸเดฟเดธเตเดฅเดพเดจ --quiet -olv_dm_path "$1/$2" | awk '{print $2}'
}

เดซเด‚เด—เตเดทเตป read_lv_active {
lvs --rows --reportformat เด…เดŸเดฟเดธเตเดฅเดพเดจ --quiet -olv_active "$1/$2" | awk '{print $2}'
}

เดซเด‚เด—เตเดทเตป read_lv_chunk_size {
lvs --rows --reportformat เด…เดŸเดฟเดธเตเดฅเดพเดจ --quiet --units b --nosuffix -ochunk_size "$1/$2" | awk '{print $2}'
}

เดซเด‚เด—เตเดทเตป read_lv_size {
lvs --rows --reportformat เด…เดŸเดฟเดธเตเดฅเดพเดจ --quiet --units b --nosuffix -olv_size "$1/$2" | awk '{print $2}'
}

เดซเด‚เด—เตเดทเตป เด†เด•เตเดŸเดฟเดตเต‡เดฑเตเดฑเต_เดตเต‹เดณเดฟเดฏเด‚ {
lvchange -ay -Ky "$1/$2"
}

เดซเด‚เด—เตเดทเตป เดจเดฟเตผเดœเตเดœเต€เดตเดฎเดพเด•เตเด•เตเด•_เดตเต‹เดณเตเดฏเด‚ {
lvchange -เด’เดฐเต "$1/$2"
}

เดซเด‚เด—เตเดทเตป read_thin_metadata_snap {
dmsetup เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเต "$1" | awk '{print $7}'
}

thindiff() เดซเด‚เด—เตเดทเตป
{
เดกเดฟเดเดŽเดซเตเดŽเดซเต_เดตเดฟเดœเดฟ="$1"
เดกเดฟเดŽเดซเตเดŽเดซเต_เดธเต‹เดดเตโ€Œเดธเต="$2"
เดกเดฟเดซเตเดซเต_เดฒเด•เตเดทเตเดฏเด‚="$3"
DIFF_SOURCE_POOL=$(เดฑเต€เดกเต_เดชเต‚เตพ_เดŽเตฝเดตเดฟ $DIFF_VG $DIFF_SOURCE)
DIFF_TARGET_POOL=$(เดฑเต€เดกเต_เดชเต‚เตพ_เดŽเตฝเดตเดฟ $DIFF_VG $DIFF_TARGET)

[ "$DIFF_SOURCE_POOL" == "" ] เด†เดฃเต†เด™เตเด•เดฟเตฝ
เด…เดชเตเดชเต‡เดพเดณเต
(>&2 "เดธเต‹เดดเตเดธเต เดŽเตฝเดตเดฟ เดจเต‡เตผเดคเตเดคเดคเดฒเตเดฒ" เดŽเดจเตเดจเต เดชเตเดฐเดคเดฟเดงเตเดตเดจเดฟเด•เตเด•เตเดจเตเดจเต.)
เดชเตเดฑเดคเตเดคเตเด•เดŸเด•เตเด•เตเด• 1
fi

[ "$DIFF_TARGET_POOL" == "" ] เด†เดฃเต†เด™เตเด•เดฟเตฝ
เด…เดชเตเดชเต‡เดพเดณเต
(>&2 "เดŸเดพเตผเด—เต†เดฑเตเดฑเต เดŽเตฝเดตเดฟ เดจเต‡เตผเดคเตเดคเดคเดฒเตเดฒ" เดŽเดจเตเดจเต เดชเตเดฐเดคเดฟเดงเตเดตเดจเดฟเด•เตเด•เตเดจเตเดจเต.)
เดชเตเดฑเดคเตเดคเตเด•เดŸเด•เตเด•เตเด• 1
fi

[ "$DIFF_SOURCE_POOL" != "$DIFF_TARGET_POOL" ] เด†เดฃเต†เด™เตเด•เดฟเตฝ
เด…เดชเตเดชเต‡เดพเดณเต
(>&2 เดชเตเดฐเดคเดฟเดงเตเดตเดจเดฟเด•เตเด•เตเด• "เด‰เดฑเดตเดฟเดŸเดตเตเด‚ เดฒเด•เตเดทเตเดฏ เดŽเตฝเดตเดฟเด•เดณเตเด‚ เดตเตเดฏเดคเตเดฏเดธเตเดค เดจเต‡เตผเดคเตเดค เดชเต‚เดณเตเด•เดณเดฟเตฝ เดชเต†เดŸเตเดจเตเดจเต.")
เดชเตเดฑเดคเตเดคเตเด•เดŸเด•เตเด•เตเด• 1
fi

DIFF_POOL_PATH=$(read_lv_dm_path $DIFF_VG $DIFF_SOURCE_POOL)
DIFF_SOURCE_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"_tเดฎเต†เดฑเตเดฑเดพ
DIFF_POOL_METADATA_SNAP=$(เดฎเต†เดฑเตเดฑเดพเดกเดพเดฑเตเดฑ_เดธเตเดจเดพเดชเตเดชเต_เดฑเต€เดกเต_เดคเดฟเตป_$DIFF_POOL_PATH_TPOOL)

[ "$DIFF_POOL_METADATA_SNAP" != "-" ] เด†เดฃเต†เด™เตเด•เดฟเตฝ
เด…เดชเตเดชเต‡เดพเดณเต
(>&2 เดŽเด•เตเด•เต‹ "เดจเต‡เตผเดคเตเดค เดชเต‚เตพ เดฎเต†เดฑเตเดฑเดพเดกเดพเดฑเตเดฑ เดธเตเดจเดพเดชเตเดชเตเดทเต‹เดŸเตเดŸเต เด‡เดคเดฟเดจเด•เด‚ เดจเดฟเดฒเดตเดฟเดฒเตเดฃเตเดŸเต. เดชเดดเด•เดฟเดฏ เด’เดจเตเดจเต เด…เดจเตเดฎเดพเดจเดฟเด•เตเด•เดพเด‚. 5 เดธเต†เด•เตเด•เตปเดกเดฟเดจเตเดณเตเดณเดฟเตฝ เดฎเต†เดฑเตเดฑเดพเดกเดพเดฑเตเดฑ เดธเตเดจเดพเดชเตเดชเตเดทเต‹เดŸเตเดŸเต เดชเตเดฑเดคเตเดคเดฟเดฑเด•เตเด•เตเด‚.")
เด‰เดฑเด•เตเด•เด‚ 5
dmsetup เดธเดจเตเดฆเต‡เดถเด‚ $DIFF_POOL_PATH_TPOOL 0 release_metadata_snap
fi

dmsetup เดธเดจเตเดฆเต‡เดถเด‚ $DIFF_POOL_PATH_TPOOL 0 reserve_metadata_snap
DIFF_POOL_METADATA_SNAP=$(เดฎเต†เดฑเตเดฑเดพเดกเดพเดฑเตเดฑ_เดธเตเดจเดพเดชเตเดชเต_เดฑเต€เดกเต_เดคเดฟเตป_$DIFF_POOL_PATH_TPOOL)

[ "$DIFF_POOL_METADATA_SNAP" == "-" ] เด†เดฃเต†เด™เตเด•เดฟเตฝ
เด…เดชเตเดชเต‡เดพเดณเต
(>&2 "เดจเต‡เตผเดคเตเดค เดชเต‚เตพ เดฎเต†เดฑเตเดฑเดพเดกเดพเดฑเตเดฑ เดธเตเดจเดพเดชเตเดชเตเดทเต‹เดŸเตเดŸเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเตฝ เดชเดฐเดพเดœเดฏเดชเตเดชเต†เดŸเตเดŸเต" เดŽเดจเตเดจเดคเดฟเดจเตเดฑเต† เดชเตเดฐเดคเดฟเดงเตเดตเดจเดฟเดฏเดพเดฃเต.)
เดชเตเดฑเดคเตเดคเตเด•เดŸเด•เตเด•เตเด• 1
fi

#เดฎเต†เดฑเตเดฑเดพเดกเดพเดฑเตเดฑ เดธเตเดจเดพเดชเตเดชเตเดทเต‹เดŸเตเดŸเต เดจเต‡เดฐเดคเตเดคเต† เดฑเดฟเดฒเต€เดธเต เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเดฟเดจเดพเตฝ เดžเด™เตเด™เตพ เด”เดŸเตเดŸเตเดชเตเดŸเตเดŸเต เดตเต‡เดฐเดฟเดฏเดฌเดฟเดณเดฟเตฝ เดธเต‚เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเต.
DIFF_DATA=$(thin_delta -m$DIFF_POOL_METADATA_SNAP --snap1 $DIFF_SOURCE_ID --snap2 $DIFF_TARGET_ID $DIFF_POOL_PATH_TMETA)

dmsetup เดธเดจเตเดฆเต‡เดถเด‚ $DIFF_POOL_PATH_TPOOL 0 release_metadata_snap

เดŽเด•เตเด•เต‹ $"$DIFF_DATA" | grep -E 'เดตเตเดฏเดคเตเดฏเดธเตเดคเด‚|เด‡เดŸเดคเต_เดฎเดพเดคเตเดฐเด‚|เดตเดฒเดคเต_เดฎเดพเดคเตเดฐเด‚' | sed's/

}

เดซเด‚เด—เตเดทเตป thinsync()
{
SYNC_VG="$1"
เดธเดฎเดจเตเดตเดฏเดฟเดชเตเดชเดฟเด•เตเด•เตเด•_เดชเต†เตปเดกเต="$2"
เดธเดฎเดจเตเดตเดฏ เด…เดŸเดฟเดธเตเดฅเดพเดจเด‚="$3"
เดธเดฎเดจเตเดตเดฏเด‚_เดฒเด•เตเดทเตเดฏเด‚="$4"
SYNC_PEND_POOL=$(เดฑเต€เดกเต_เดชเต‚เตพ_เดŽเตฝเดตเดฟ $SYNC_VG $SYNC_PEND)
SYNC_BLOCK_SIZE=$(read_lv_chunk_size $SYNC_VG $SYNC_PEND_POOL)
SYNC_PEND_PATH=$(เดฑเต€เดกเต_เดŽเตฝเดตเดฟ_เดกเดฟเดŽเด‚_เดชเดพเดคเตเดคเต $SYNC_VG $SYNC_PEND)

เดธเดœเต€เดตเดฎเดพเด•เตเด•เตเด•_เดตเต‹เดณเตเดฏเด‚ $SYNC_VG $SYNC_PEND

เดตเดพเดฏเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ -r SYNC_ACTION SYNC_OFFSET SYNC_LENGTH ; เดšเต†เดฏเตเดฏเตเด•
SYNC_OFFSET_BYTES=$((SYNC_OFFSET * SYNC_BLOCK_SIZE))
SYNC_LENGTH_BYTES=$((SYNC_LENGTH * SYNC_BLOCK_SIZE))
[ "$SYNC_ACTION" == "เดชเด•เตผเดคเตเดคเตเด•" ] เด†เดฃเต†เด™เตเด•เดฟเตฝ
เด…เดชเตเดชเต‡เดพเดณเต
ddrescue --quiet --force --input-position=$SYNC_OFFSET_BYTES --output-position=$SYNC_OFFSET_BYTES --size=$SYNC_LENGTH_BYTES "$SYNC_PEND_PATH" "$SYNC_TARGET"
fi

[ "$SYNC_ACTION" == "เดจเดฟเดฐเดธเดฟเด•เตเด•เตเด•" ] เดŽเด™เตเด•เดฟเตฝ
เด…เดชเตเดชเต‡เดพเดณเต
blkdiscard -o $SYNC_OFFSET_BYTES -l $SYNC_LENGTH_BYTES "$SYNC_TARGET"
fi
เดšเต†เดฏเตเดคเต <(thindiff "$SYNC_VG" "$SYNC_PEND" "$SYNC_BASE")
}

เดซเด‚เด—เตเดทเตป discard_volume()
{
เดกเดฟเดธเตเด•เดพเตผเดกเต_เดตเดฟเดœเดฟ="$1"
เดกเดฟเดธเตเด•เดพเตผเดกเต_เดŽเตฝเดตเดฟ="$2"
DISCARD_LV_PATH=$(read_lv_dm_path "$DISCARD_VG" "$DISCARD_LV")
[ "$DISCARD_LV_PATH" != "" ] เด†เดฃเต†เด™เตเด•เดฟเตฝ
เด…เดชเตเดชเต‡เดพเดณเต
เดŽเด•เตเด•เต‹ "$DISCARD_LV_PATH เด•เดฃเตเดŸเต†เดคเตเดคเดฟ"
เดฎเดฑเตเดฑเดพเดฐเต†เด™เตเด•เดฟเดฒเตเด‚
เดŽเด•เตเด•เต‹ "$DISCARD_VG-เดฏเดฟเตฝ $DISCARD_LV เด•เดฃเตเดŸเต†เดคเตเดคเดฟเดฏเดฟเดฒเตเดฒ"
เดชเตเดฑเดคเตเดคเตเด•เดŸเด•เตเด•เตเด• 1
fi
เดกเดฟเดธเตเด•เดพเตผเดกเต_เดŽเตฝเดตเดฟ_เดชเต‚เตพ=$(เดฑเต€เดกเต_เดชเต‚เตพ_เดŽเตฝเดตเดฟ $เดกเดฟเดธเตเด•เดพเตผเดกเต_เดตเดฟเดœเดฟ $เดกเดฟเดธเตเด•เดพเตผเดกเต_เดŽเตฝเดตเดฟ)
DISCARD_LV_SIZE=$("$DISCARD_VG" "$DISCARD_LV" เดŽเดจเตเดจเดคเดฟเดจเตเดฑเต†_lv_เดตเดฒเตเดชเตเดชเด‚ เดตเดพเดฏเดฟเด•เตเด•เตเด•)
lvremove -y --เดจเดฟเดถเดฌเตเดฆเดฎเดพเด•เตเด•เตเด• "$DISCARD_LV_PATH" || เดŽเด•เตเดธเดฟเดฑเตเดฑเต 1
lvcreate --thin-pool "$DISCARD_LV_POOL" -V "$DISCARD_LV_SIZE"B --name "$DISCARD_LV" "$DISCARD_VG" || เดŽเด•เตเดธเดฟเดฑเตเดฑเต 1
}

เดซเด‚เด—เตเดทเตป เดฌเดพเด•เตเด•เดชเตเดชเต()
{
เดธเต‹เดดเตโ€Œเดธเต_เดตเดฟเดœเดฟ="$1"
เดธเต‹เดดเตโ€Œเดธเต_เดŽเตฝเดตเดฟ="$2"
TARGET_VG="$เดฌเดพเด•เตเด•เดชเตเดชเตเด•เตพ"
เดŸเดพเตผเด—เต†เดฑเตเดฑเต_เดŽเตฝเดตเดฟ="$เดธเต‹เดดเตโ€Œเดธเต_เดตเดฟเดœเดฟ-$เดธเต‹เดดเตโ€Œเดธเต_เดŽเตฝเดตเดฟ"
SOURCE_BASE_LV="$SOURCE_LV$BASE_Suffix"
เดŸเดพเตผเด—เต†เดฑเตเดฑเต_เดฌเต‡เดธเต_เดŽเตฝเดตเดฟ="$เดŸเดพเตผเด—เต†เดฑเตเดฑเต_เดŽเตฝเดตเดฟ$เดฌเต‡เดธเต_เดธเดซเดฟเด•เตเดธเต"
เดธเต‹เดดเตโ€Œเดธเต_เดชเดฟEND_เดŽเตฝเดตเดฟ="$เดธเต‹เดดเตโ€Œเดธเต_เดŽเตฝเดตเดฟ$เดชเดฟEND_เดธเดซเดฟเด•เตเดธเต"
เดŸเดพเตผเด—เต†เดฑเตเดฑเต_เดชเดฟEND_เดŽเตฝเดตเดฟ="$เดŸเดพเตผเด—เต†เดฑเตเดฑเต_เดŽเตฝเดตเดฟ$เดชเดฟEND_เดธเดซเดฟเด•เตเดธเต"
SOURCE_BASE_LV_PATH=$(read_lv_dm_path "$SOURCE_VG" "$SOURCE_BASE_LV")
SOURCE_PEND_LV_PATH=$("$SOURCE_VG" "$SOURCE_PEND_LV" เดŽเดจเตเดจเดคเดฟเดจเตเดฑเต†_lv_dm_path เดตเดพเดฏเดฟเด•เตเด•เตเด•)
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")

[ "$SOURCE_BASE_LV_PATH" != "" ] เด†เดฃเต†เด™เตเด•เดฟเตฝ
เด…เดชเตเดชเต‡เดพเดณเต
เดŽเด•เตเด•เต‹ "$SOURCE_BASE_LV_PATH เด•เดฃเตเดŸเต†เดคเตเดคเดฟ"
เดฎเดฑเตเดฑเดพเดฐเต†เด™เตเด•เดฟเดฒเตเด‚
echo "$SOURCE_VG/$SOURCE_LV เดฏเดฟเตฝ เดจเดฟเดจเตเดจเต $SOURCE_VG/$SOURCE_BASE_LV เดฒเต‡เด•เตเด•เต เดธเตเดจเดพเดชเตเดชเตเดทเต‹เดŸเตเดŸเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจ เด‰เดฑเดตเดฟเดŸ เดฌเต‡เดธเต เด•เดฃเตเดŸเต†เดคเตเดคเดฟเดฏเดฟเดฒเตเดฒ"
lvcreate --quiet --snapshot --name "$SOURCE_BASE_LV" "$SOURCE_VG/$SOURCE_LV" || เดŽเด•เตเดธเดฟเดฑเตเดฑเต 1
SOURCE_BASE_LV_PATH=$(read_lv_dm_path "$SOURCE_VG" "$SOURCE_BASE_LV")
เดธเดœเต€เดตเดฎเดพเด•เตเด•เตเด•_เดตเต‹เดณเตเดฏเด‚ "$SOURCE_VG" "$SOURCE_BASE_LV"
echo "เดจเดฎเตเด•เตเด•เต เดฌเต‚เดŸเตเดŸเตโ€ŒเดธเตเดŸเตเดฐเดพเดชเตเดชเต เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเดฟเดจเดพเตฝ $SOURCE_BASE_LV_PATH เด‰เดชเต‡เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเต."
SOURCE_BASE_POOL=$(เดฑเต€เดกเต_เดชเต‚เตพ_เดŽเตฝเดตเดฟ $SOURCE_VG $SOURCE_BASE_LV)
SOURCE_BASE_CHUNK_SIZE=$(read_lv_chunk_size $SOURCE_VG $SOURCE_BASE_POOL)
"$SOURCE_VG" เดŽเดจเตเดจ เดตเดพเดณเตเดฏเด‚ เดจเดฟเดฐเดธเดฟเด•เตเด•เตเด• "$SOURCE_BASE_LV"
เดธเดฎเดจเตเดตเดฏเด‚
[ "$TARGET_BASE_LV_PATH" != "" ] เด†เดฃเต†เด™เตเด•เดฟเตฝ
เด…เดชเตเดชเต‡เดพเดณเต
echo "$TARGET_BASE_LV_PATH เด‰เดฑเดตเดฟเดŸเดตเตเดฎเดพเดฏเดฟ เดธเดฎเดจเตเดตเดฏเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒเต†เดจเตเดจเต เด•เดฃเตเดŸเต†เดคเตเดคเดฟ... เดจเต€เด•เตเด•เด‚เดšเต†เดฏเตเดฏเตเดจเตเดจเต..."
lvremove -y --เดจเดฟเดถเดฌเตเดฆเดฎเดพเด•เตเด•เตเด• $TARGET_BASE_LV_PATH || เดŽเด•เตเดธเดฟเดฑเตเดฑเต 1
TARGET_BASE_LV_PATH=$(read_lv_dm_path "$TARGET_VG" "$TARGET_BASE_LV")
เดธเดฎเดจเตเดตเดฏเด‚
fi
fi
SOURCE_BASE_SIZE=$("$SOURCE_VG" "$SOURCE_BASE_LV" เดŽเดจเตเดจเดคเดฟเดจเตเดฑเต†_lv_เดตเดฒเตเดชเตเดชเด‚ เดตเดพเดฏเดฟเด•เตเด•เตเด•)
[ "$TARGET_BASE_LV_PATH" != "" ] เด†เดฃเต†เด™เตเด•เดฟเตฝ
เด…เดชเตเดชเต‡เดพเดณเต
เดŽเด•เตเด•เต‹ "$TARGET_BASE_LV_PATH เด•เดฃเตเดŸเต†เดคเตเดคเดฟ"
เดฎเดฑเตเดฑเดพเดฐเต†เด™เตเด•เดฟเดฒเตเด‚
echo "$TARGET_VG/$TARGET_LV เด•เดฃเตเดŸเต†เดคเตเดคเดฟเดฏเดฟเดฒเตเดฒ. เดถเต‚เดจเตเดฏเดฎเดพเดฏ เดตเต‹เดณเตเดฏเด‚ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเต."
lvcreate --thin-pool "$BACKUPS_POOL" -V "$SOURCE_BASE_SIZE"B --name "$TARGET_BASE_LV" "$TARGET_VG" || เดŽเด•เตเดธเดฟเดฑเตเดฑเต 1
echo "เดธเตเดŸเตเดฐเดพเดชเตเดชเต เดฑเต€เดฌเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเดฃเด‚. $SOURCE_BASE_LV_PATH-เตฝ เด‰เดฑเดตเดฟเดŸเด‚ เด‰เดชเต‡เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเต"
เดธเดœเต€เดตเดฎเดพเด•เตเด•เตเด•_เดตเต‹เดณเตเดฏเด‚ "$SOURCE_VG" "$SOURCE_BASE_LV"
SOURCE_BASE_POOL=$(เดฑเต€เดกเต_เดชเต‚เตพ_เดŽเตฝเดตเดฟ $SOURCE_VG $SOURCE_BASE_LV)
SOURCE_BASE_CHUNK_SIZE=$(read_lv_chunk_size $SOURCE_VG $SOURCE_BASE_POOL)
"$SOURCE_VG" เดŽเดจเตเดจ เดตเดพเดณเตเดฏเด‚ เดจเดฟเดฐเดธเดฟเด•เตเด•เตเด• "$SOURCE_BASE_LV"
TARGET_BASE_POOL=$(เดฑเต€เดกเต_เดชเต‚เตพ_เดŽเตฝเดตเดฟ $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")
เดŽเด•เตเด•เต‹ "$TARGET_BASE_LV_PATH-เตฝ เดŸเดพเตผเด—เต†เดฑเตเดฑเต เด‰เดชเต‡เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเต"
เดจเดฟเดฐเดธเดฟเด•เตเด•เตเด•_เดตเต‹เดณเตเดฏเด‚ "$TARGET_VG" "$TARGET_BASE_LV"
เดธเดฎเดจเตเดตเดฏเด‚
fi
[ "$SOURCE_PEND_LV_PATH" != "" ] เด†เดฃเต†เด™เตเด•เดฟเตฝ
เด…เดชเตเดชเต‡เดพเดณเต
echo "$SOURCE_PEND_LV_PATH เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เด•เดฃเตเดŸเต†เดคเตเดคเดฟ..."
lvremove -y --เดจเดฟเดถเดฌเตเดฆเดฎเดพเด•เตเด•เตเด• "$SOURCE_PEND_LV_PATH" || เดŽเด•เตเดธเดฟเดฑเตเดฑเต 1
เดธเดฎเดจเตเดตเดฏเด‚
fi
lvcreate --quiet --snapshot --name "$SOURCE_PEND_LV" "$SOURCE_VG/$SOURCE_LV" || เดŽเด•เตเดธเดฟเดฑเตเดฑเต 1
SOURCE_PEND_LV_PATH=$("$SOURCE_VG" "$SOURCE_PEND_LV" เดŽเดจเตเดจเดคเดฟเดจเตเดฑเต†_lv_dm_path เดตเดพเดฏเดฟเด•เตเด•เตเด•)
เดธเดฎเดจเตเดตเดฏเด‚
[ "$TARGET_PEND_LV_PATH" != "" ] เด†เดฃเต†เด™เตเด•เดฟเตฝ
เด…เดชเตเดชเต‡เดพเดณเต
echo "$TARGET_PEND_LV_PATH เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เด•เดฃเตเดŸเต†เดคเตเดคเดฟ..."
lvremove -y --เดจเดฟเดถเดฌเตเดฆเดฎเดพเด•เตเด•เตเด• $TARGET_PEND_LV_PATH
เดธเดฎเดจเตเดตเดฏเด‚
fi
lvcreate --quiet --snapshot --name "$TARGET_PEND_LV" "$TARGET_VG/$TARGET_BASE_LV" || เดŽเด•เตเดธเดฟเดฑเตเดฑเต 1
TARGET_PEND_LV_PATH=$(read_lv_dm_path "$TARGET_VG" "$TARGET_PEND_LV")
SOURCE_PEND_LV_SIZE=$("$SOURCE_VG" "$SOURCE_PEND_LV" เดŽเดจเตเดจเดคเดฟเดจเตเดฑเต†_lv_เดตเดฒเตเดชเตเดชเด‚ เดตเดพเดฏเดฟเด•เตเด•เตเด•)
lvresize -L "$SOURCE_PEND_LV_SIZE"B "$TARGET_PEND_LV_PATH"
เดธเดœเต€เดตเดฎเดพเด•เตเด•เตเด•_เดตเต‹เดณเตเดฏเด‚ "$TARGET_VG" "$TARGET_PEND_LV"
เดŽเด•เตเด•เต‹ "$SOURCE_PEND_LV_PATH เดฎเตเดคเตฝ $TARGET_PEND_LV_PATH เดตเดฐเต† เดธเดฎเดจเตเดตเดฏเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต"
เดคเดฟเตปเดธเดฟเด™เตเด•เต "$SOURCE_VG" "$SOURCE_PEND_LV" "$SOURCE_BASE_LV" "$TARGET_PEND_LV_PATH" || เดŽเด•เตเดธเดฟเดฑเตเดฑเต 1
เดธเดฎเดจเตเดตเดฏเด‚

TARGET_DATE_SUFFIX=$(เดธเดซเดฟเด•เตเดธเต)
lvcreate --quiet --snapshot --name "$TARGET_LV$TARGET_DATE_SUFFIX" "$TARGET_VG/$TARGET_PEND_LV" || เดŽเด•เตเดธเดฟเดฑเตเดฑเต 1
เดธเดฎเดจเตเดตเดฏเด‚
lvremove --quiet -y "$SOURCE_BASE_LV_PATH" || เดŽเด•เตเดธเดฟเดฑเตเดฑเต 1
เดธเดฎเดจเตเดตเดฏเด‚
lvremove --quiet -y "$TARGET_BASE_LV_PATH" || เดŽเด•เตเดธเดฟเดฑเตเดฑเต 1
เดธเดฎเดจเตเดตเดฏเด‚
lvrename -y "$SOURCE_VG/$SOURCE_PEND_LV" "$SOURCE_BASE_LV" || เดŽเด•เตเดธเดฟเดฑเตเดฑเต 1
lvrename -y "$TARGET_VG/$TARGET_PEND_LV" "$TARGET_BASE_LV" || เดŽเด•เตเดธเดฟเดฑเตเดฑเต 1
เดธเดฎเดจเตเดตเดฏเด‚
เดจเดฟเตผเดœเตเดœเต€เดตเดฎเดพเด•เตเด•เตเด•_เดตเต‹เดณเตเดฏเด‚ "$TARGET_VG" "$TARGET_BASE_LV"
เดจเดฟเตผเดœเตเดœเต€เดตเดฎเดพเด•เตเด•เตเด•_เดตเต‹เดณเตเดฏเด‚ "$SOURCE_VG" "$SOURCE_BASE_LV"
}

เดซเด‚เด—เตเดทเตป เดตเต†เดฐเดฟเดซเตˆ()
{
เดธเต‹เดดเตโ€Œเดธเต_เดตเดฟเดœเดฟ="$1"
เดธเต‹เดดเตโ€Œเดธเต_เดŽเตฝเดตเดฟ="$2"
TARGET_VG="$เดฌเดพเด•เตเด•เดชเตเดชเตเด•เตพ"
เดŸเดพเตผเด—เต†เดฑเตเดฑเต_เดŽเตฝเดตเดฟ="$เดธเต‹เดดเตโ€Œเดธเต_เดตเดฟเดœเดฟ-$เดธเต‹เดดเตโ€Œเดธเต_เดŽเตฝเดตเดฟ"
SOURCE_BASE_LV="$SOURCE_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")

[ "$SOURCE_BASE_LV_PATH" != "" ] เด†เดฃเต†เด™เตเด•เดฟเตฝ
เด…เดชเตเดชเต‡เดพเดณเต
เดŽเด•เตเด•เต‹ "$SOURCE_BASE_LV_PATH เด•เดฃเตเดŸเต†เดคเตเดคเดฟ"
เดฎเดฑเตเดฑเดพเดฐเต†เด™เตเด•เดฟเดฒเตเด‚
เดŽเด•เตเด•เต‹ "$SOURCE_BASE_LV_PATH เด•เดฃเตเดŸเต†เดคเตเดคเดฟเดฏเดฟเดฒเตเดฒ"
เดชเตเดฑเดคเตเดคเตเด•เดŸเด•เตเด•เตเด• 1
fi
[ "$TARGET_BASE_LV_PATH" != "" ] เด†เดฃเต†เด™เตเด•เดฟเตฝ
เด…เดชเตเดชเต‡เดพเดณเต
เดŽเด•เตเด•เต‹ "$TARGET_BASE_LV_PATH เด•เดฃเตเดŸเต†เดคเตเดคเดฟ"
เดฎเดฑเตเดฑเดพเดฐเต†เด™เตเด•เดฟเดฒเตเด‚
เดŽเด•เตเด•เต‹ "$TARGET_BASE_LV_PATH เด•เดฃเตเดŸเต†เดคเตเดคเดฟเดฏเดฟเดฒเตเดฒ"
เดชเตเดฑเดคเตเดคเตเด•เดŸเด•เตเด•เตเด• 1
fi
เดธเดœเต€เดตเดฎเดพเด•เตเด•เตเด•_เดตเต‹เดณเตเดฏเด‚ "$TARGET_VG" "$TARGET_BASE_LV"
เดธเดœเต€เดตเดฎเดพเด•เตเด•เตเด•_เดตเต‹เดณเตเดฏเด‚ "$SOURCE_VG" "$SOURCE_BASE_LV"
"$SOURCE_BASE_LV_PATH" เดจเต† "$TARGET_BASE_LV_PATH" เดฎเดพเดฏเดฟ เดคเดพเดฐเดคเดฎเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจ เดชเตเดฐเดคเดฟเดงเตเดตเดจเดฟ
cmp "$SOURCE_BASE_LV_PATH" "$TARGET_BASE_LV_PATH"
เดŽเด•เตเด•เต‹ เด•เดดเดฟเดžเตเดžเต...
เดจเดฟเตผเดœเตเดœเต€เดตเดฎเดพเด•เตเด•เตเด•_เดตเต‹เดณเตเดฏเด‚ "$TARGET_VG" "$TARGET_BASE_LV"
เดจเดฟเตผเดœเตเดœเต€เดตเดฎเดพเด•เตเด•เตเด•_เดตเต‹เดณเตเดฏเด‚ "$SOURCE_VG" "$SOURCE_BASE_LV"
}

เดซเด‚เด—เตเดทเตป เดชเตเดจเดƒเดธเดฎเดจเตเดตเดฏเดฟเดชเตเดชเดฟเด•เตเด•เตเด•()
{
เดธเต‹เดดเตโ€Œเดธเต_เดตเดฟเดœเดฟ="$1"
เดธเต‹เดดเตโ€Œเดธเต_เดŽเตฝเดตเดฟ="$2"
TARGET_VG="$เดฌเดพเด•เตเด•เดชเตเดชเตเด•เตพ"
เดŸเดพเตผเด—เต†เดฑเตเดฑเต_เดŽเตฝเดตเดฟ="$เดธเต‹เดดเตโ€Œเดธเต_เดตเดฟเดœเดฟ-$เดธเต‹เดดเตโ€Œเดธเต_เดŽเตฝเดตเดฟ"
SOURCE_BASE_LV="$SOURCE_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")

[ "$SOURCE_BASE_LV_PATH" != "" ] เด†เดฃเต†เด™เตเด•เดฟเตฝ
เด…เดชเตเดชเต‡เดพเดณเต
เดŽเด•เตเด•เต‹ "$SOURCE_BASE_LV_PATH เด•เดฃเตเดŸเต†เดคเตเดคเดฟ"
เดฎเดฑเตเดฑเดพเดฐเต†เด™เตเด•เดฟเดฒเตเด‚
เดŽเด•เตเด•เต‹ "$SOURCE_BASE_LV_PATH เด•เดฃเตเดŸเต†เดคเตเดคเดฟเดฏเดฟเดฒเตเดฒ"
เดชเตเดฑเดคเตเดคเตเด•เดŸเด•เตเด•เตเด• 1
fi
[ "$TARGET_BASE_LV_PATH" != "" ] เด†เดฃเต†เด™เตเด•เดฟเตฝ
เด…เดชเตเดชเต‡เดพเดณเต
เดŽเด•เตเด•เต‹ "$TARGET_BASE_LV_PATH เด•เดฃเตเดŸเต†เดคเตเดคเดฟ"
เดฎเดฑเตเดฑเดพเดฐเต†เด™เตเด•เดฟเดฒเตเด‚
เดŽเด•เตเด•เต‹ "$TARGET_BASE_LV_PATH เด•เดฃเตเดŸเต†เดคเตเดคเดฟเดฏเดฟเดฒเตเดฒ"
เดชเตเดฑเดคเตเดคเตเด•เดŸเด•เตเด•เตเด• 1
fi
เดธเดœเต€เดตเดฎเดพเด•เตเด•เตเด•_เดตเต‹เดณเตเดฏเด‚ "$TARGET_VG" "$TARGET_BASE_LV"
เดธเดœเต€เดตเดฎเดพเด•เตเด•เตเด•_เดตเต‹เดณเตเดฏเด‚ "$SOURCE_VG" "$SOURCE_BASE_LV"
SOURCE_BASE_POOL=$(เดฑเต€เดกเต_เดชเต‚เตพ_เดŽเตฝเดตเดฟ $SOURCE_VG $SOURCE_BASE_LV)
SYNC_BLOCK_SIZE=$(read_lv_chunk_size $SOURCE_VG $SOURCE_BASE_POOL)

"$SOURCE_BASE_LV_PATH" เดจเต† "$TARGET_BASE_LV_PATH" เดฒเต‡เด•เตเด•เต เดŽเด•เตเด•เต‹ เดธเดฎเดจเตเดตเดฏเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต

CMP_OFFSET=0
[[ "$CMP_OFFSET" != "" ]] ; เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ
CMP_MISMATCH=$(cmp -i "$CMP_OFFSET" "$SOURCE_BASE_LV_PATH" "$TARGET_BASE_LV_PATH" | grep เดตเตเดฏเดคเตเดฏเดพเดธเด‚ | awk '{print $5}' | sed 's/,//g' )
[[ "$CMP_MISMATCH" != "" ]] เด†เดฃเต†เด™เตเด•เดฟเตฝ; เดชเดฟเดจเตเดจเต†
CMP_OFFSET=$(( CMP_MISMATCH + CMP_OFFSET ))
SYNC_OFFSET_BYTES=$(( ( CMP_OFFSET / SYNC_BLOCK_SIZE ) * SYNC_BLOCK_SIZE ))
SYNC_LENGTH_BYTES=$(( SYNC_BLOCK_SIZE ))
เดŽเด•เตเด•เต‹ "$SOURCE_BASE_LV_PATH เตฝ เดจเดฟเดจเตเดจเต $TARGET_BASE_LV_PATH เดฒเต‡เด•เตเด•เต $SYNC_OFFSET_BYTES เตฝ $SYNC_LENGTH_BYTES เดฌเตˆเดฑเตเดฑเตเด•เตพ เดธเดฎเดจเตเดตเดฏเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต"
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"
เดฎเดฑเตเดฑเดพเดฐเต†เด™เตเด•เดฟเดฒเตเด‚
เดธเดฟเดŽเด‚เดชเดฟ_เด“เดซเตโ€Œเดธเต†เดฑเตเดฑเต=""
fi
เดšเต†เดฏเตเดคเต
เดŽเด•เตเด•เต‹ เด•เดดเดฟเดžเตเดžเต...
เดจเดฟเตผเดœเตเดœเต€เดตเดฎเดพเด•เตเด•เตเด•_เดตเต‹เดณเตเดฏเด‚ "$TARGET_VG" "$TARGET_BASE_LV"
เดจเดฟเตผเดœเตเดœเต€เดตเดฎเดพเด•เตเด•เตเด•_เดตเต‹เดณเตเดฏเด‚ "$SOURCE_VG" "$SOURCE_BASE_LV"
}

เดซเด‚เด—เตเดทเตป เดฒเดฟเดธเตเดฑเตเดฑเต()
{
เดฒเดฟเดธเตเดฑเตเดฑเต_เดธเต‹เดดเตโ€Œเดธเต_เดตเดฟเดœเดฟ="$1"
เดฒเดฟเดธเตเดฑเตเดฑเต_เดธเต‹เดดเตโ€Œเดธเต_เดŽเตฝเดตเดฟ="$2"
เดฒเดฟเดธเตเดฑเตเดฑเต_เดŸเดพเตผเด—เต†เดฑเตเดฑเต_เดตเดฟเดœเดฟ="$เดฌเดพเด•เตเด•เดชเตเดชเตเด•เตพ"
เดฒเดฟเดธเตเดฑเตเดฑเต_เดŸเดพเตผเด—เต†เดฑเตเดฑเต_เดŽเตฝเดตเดฟ="$เดฒเดฟเดธเตเดฑเตเดฑเต_เดธเต‹เดดเตโ€Œเดธเต_เดตเดฟเดœเดฟ-$เดฒเดฟเดธเตเดฑเตเดฑเต_เดธเต‹เดดเตโ€Œเดธเต_เดŽเตฝเดตเดฟ"
เดฒเดฟเดธเตเดฑเตเดฑเต_เดŸเดพเตผเด—เต†เดฑเตเดฑเต_เดฌเต‡เดธเต_เดŽเตฝเดตเดฟ="$เดฒเดฟเดธเตเดฑเตเดฑเต_เดŸเดพเตผเด—เต†เดฑเตเดฑเต_เดŽเตฝเดตเดฟ$เดธเตเดจเดพเดชเตเดชเต_เดธเดซเดฟเด•เตเดธเต"
lvs -olv_name | grep "$LIST_TARGET_BASE_LV.$DATE_REGEX"
}

เดซเด‚เด—เตเดทเตป เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเตเด•()
{
เดจเต€เด•เตเด•เด‚เดšเต†เดฏเตเดฏเตเด•_TARGET_VG="$เดฌเดพเด•เตเด•เดชเตเดชเตเด•เตพ"
เดจเต€เด•เตเด•เด‚เดšเต†เดฏเตเดฏเตเด•_เดŸเดพเตผเด—เต†เดฑเตเดฑเต_เดŽเตฝเดตเดฟ = "$1"
lvremove -y "$REMOVE_TARGET_VG/$REMOVE_TARGET_LV"
เดธเดฎเดจเตเดตเดฏเด‚
}

เดซเด‚เด—เตเดทเตป removeall()
{
เดคเต€เดฏเดคเดฟ_เด“เดซเตโ€Œเดธเต†เดฑเตเดฑเต="$3"
เดซเดฟเตฝเดŸเตเดŸเตผ="$("$DATE_OFFSET" เดซเดฟเตฝเดŸเตเดŸเตผ เดšเต†เดฏเตเดฏเตเด•)"
เดตเดพเดฏเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ -r เดธเตเดจเดพเดชเตเดชเตเดทเต‹เดŸเตเดŸเต ; เดšเต†เดฏเตเดฏเตเด•
"$SNAPSHOT" เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเตเด•
เดšเต†เดฏเตเดคเต <(เดฒเดฟเดธเตเดฑเตเดฑเต "$1" "$2" | grep "$FILTER")

}

(
เด•เดฎเดพเตปเดกเต="$1"
เดทเดฟเดซเตเดฑเตเดฑเต

"$COMMAND" เดŽเดจเตเดจ เด•เต‡เดธเต
"--เดธเดนเดพเดฏเด‚")
เดŽเด•เตเด•เต‹ "เดธเดนเดพเดฏเด‚"
;;
"เดธเดซเดฟเด•เตเดธเต")
เดธเดซเดฟเด•เตเดธเต
;;
"เดซเดฟเตฝเดŸเตเดŸเตผ")
"$1" เดซเดฟเตฝเดŸเตเดŸเตผ เดšเต†เดฏเตเดฏเตเด•
;;
"เดฌเดพเด•เตเด•เดชเตเดชเต")
เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเด•_เดฒเต‹เด•เตเด•เต_เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ_เดŸเต†เตผเดฎเดฟเดจเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•
เดฌเดพเด•เตเด•เดชเตเดชเต "$1" "$2"
;;
"เดฒเดฟเดธเตเดฑเตเดฑเต")
เดฒเดฟเดธเตเดฑเตเดฑเต "$1" "$2"
;;
"เดคเดฟเดฃเตเดŸเดฟเดซเต")
เดคเดฟเตปเดกเดฟเดซเต "$1" "$2" "$3"
;;
"เดคเดฟเตปเดธเดฟเด™เตเด•เต")
เดคเดฟเตปเดธเดฟเด™เตเด•เต "$1" "$2" "$3" "$4"
;;
"เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด•")
เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเด•_เดฒเต‹เด•เตเด•เต_เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ_เดŸเต†เตผเดฎเดฟเดจเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•
"$1" "$2" เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด•
;;
"เดชเตเดจเดƒเดธเดฎเดจเตเดตเดฏเดฟเดชเตเดชเดฟเด•เตเด•เตเด•")
เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเด•_เดฒเต‹เด•เตเด•เต_เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ_เดŸเต†เตผเดฎเดฟเดจเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•
"$1" "$2" เดชเตเดจเดƒเดธเดฎเดจเตเดตเดฏเดฟเดชเตเดชเดฟเด•เตเด•เตเด•
;;
"เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเตเด•")
เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเด•_เดฒเต‹เด•เตเด•เต_เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ_เดŸเต†เตผเดฎเดฟเดจเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•
"$1" เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเตเด•
;;
"เดŽเดฒเตเดฒเดพเด‚ เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเตเด•")
เด•เดพเดคเตเดคเดฟเดฐเดฟเด•เตเด•เตเด•_เดฒเต‹เด•เตเด•เต_เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ_เดŸเต†เตผเดฎเดฟเดจเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•
"$1" "$2" "$3" เดŽเดฒเตเดฒเดพเด‚ เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเตเด•
;;
*)
"เด’เดจเตเดจเตเดฎเดฟเดฒเตเดฒ.." เดŽเดจเตเดจเต เดชเตเดฐเดคเดฟเดงเตเดตเดจเดฟเด•เตเด•เตเด•.
;;
เดธเดฟ
) 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="$(เดฑเดฟเดฏเตฝเดชเดพเดคเตเดคเต $0)"
SCRIPT_DIR="$(เดกเดฏเดฑเด•เตเดŸเต เดจเดพเดฎเด‚ $SCRIPT_FILE)"
SCRIPT_NAME="$(เดฌเต‡เดธเต เดจเต†เดฏเดฟเด‚ -s .sh $SCRIPT_FILE)"

เดฌเดพเด•เตเด•เดชเตเดชเต_เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต="$SCRIPT_DIR/lvm-thin-backup.sh"
RETENTION="-60 เดฆเดฟเดตเดธเด‚"

เดฒเดฟเดจเด•เตเดธเต-เดกเต†เดตเดฒเดชเตเดชเตผ $BACKUP_SCRIPT เดฌเดพเด•เตเด•เดชเตเดชเต เด‡เดฎเต‡เดœเตเด•เตพ
$BACKUP_SCRIPT เดฌเดพเด•เตเด•เดชเตเดชเต เดšเดฟเดคเตเดฐเด™เตเด™เตพ win8
$BACKUP_SCRIPT เดฌเดพเด•เตเด•เดชเตเดชเต เด‡เดฎเต‡เดœเตเด•เตพ win8-data
#เดคเตเดŸเด™เตเด™เดฟเดฏเดต

$BACKUP_SCRIPT เดฒเดฟเดจเด•เตเดธเต-เดกเต†เดตเดฒเดชเตเดฎเต†เดจเตเดฑเต "$RETENTION" เดฒเต† เดŽเดฒเตเดฒเดพ เดšเดฟเดคเตเดฐเด™เตเด™เดณเตเด‚ เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเตเด•.
$BACKUP_SCRIPT เดŽเดฒเตเดฒเดพ เดšเดฟเดคเตเดฐเด™เตเด™เดณเตเด‚ เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเตเด• win8 "$RETENTION"
$BACKUP_SCRIPT เดŽเดฒเตเดฒเดพ เดšเดฟเดคเตเดฐเด™เตเด™เดณเตเด‚ เดจเต€เด•เตเด•เด‚ เดšเต†เดฏเตเดฏเตเด• win8-data "$RETENTION"
#เดคเตเดŸเด™เตเด™เดฟเดฏเดต

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

เด†เดฆเตเดฏ เดตเดฟเด•เตเดทเต‡เดชเดฃเด‚ เดฆเตˆเตผเด˜เตเดฏเดฎเต‡เดฑเดฟเดฏเดคเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚, เด•เดพเดฐเดฃเด‚... เด‰เดชเดฏเต‹เด—เดฟเดšเตเดš เดŽเดฒเตเดฒเดพ เดธเตเดฅเดฒเดตเตเด‚ เดชเด•เตผเดคเตเดคเดฟ เดจเต‡เตผเดคเตเดค เดตเต‹เดณเตเดฏเด™เตเด™เตพ เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดธเดฎเดจเตเดตเดฏเดฟเดชเตเดชเดฟเด•เตเด•เตเด‚. เดŽเตฝเดตเดฟเดŽเด‚ เดจเต‡เตผเดคเตเดค เดฎเต†เดฑเตเดฑเดพเดกเดพเดฑเตเดฑเดฏเตเด•เตเด•เต เดจเดจเตเดฆเดฟ, เดเดคเต เดฌเตเดฒเต‹เด•เตเด•เตเด•เดณเดพเดฃเต เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ เด‰เดชเดฏเต‹เด—เดคเตเดคเดฟเดฒเตเดณเตเดณเดคเต†เดจเตเดจเต เดžเด™เตเด™เตพเด•เตเด•เดฑเดฟเดฏเดพเด‚, เด…เดคเดฟเดจเดพเตฝ เดฏเดฅเดพเตผเดคเตเดฅเดคเตเดคเดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เดจเต‡เตผเดคเตเดค เดตเต‹เดณเดฟเดฏเด‚ เดฌเตเดฒเต‹เด•เตเด•เตเด•เตพ เดฎเดพเดคเตเดฐเดฎเต‡ เดชเด•เตผเดคเตเดคเต‚.

เดŽเตฝเดตเดฟเดŽเด‚ เดจเต‡เตผเดคเตเดค เดฎเต†เดฑเตเดฑเดพเดกเดพเดฑเตเดฑ เดตเดดเดฟ เดŸเตเดฐเดพเด•เตเด•เดฟเด‚เด—เต เดฎเดพเดฑเตเดฑเตเดจเตเดจเดคเดฟเดจเต เดจเดจเตเดฆเดฟ, เดคเตเดŸเตผเดจเตเดจเตเดณเตเดณ เดฑเดฃเตเดฃเตเด•เตพ เดกเดพเดฑเตเดฑ เดตเตผเดฆเตเดงเดฟเดชเตเดชเดฟเดšเตเดšเต เดชเด•เตผเดคเตเดคเตเด‚.

เดŽเดจเตเดคเดพเดฃเต เดธเด‚เดญเดตเดฟเดšเตเดšเดคเต†เดจเตเดจเต เดจเดฎเตเด•เตเด•เต เดจเต‹เด•เตเด•เดพเด‚:

#time /root/btrfs-backup/cron-daily.sh
real 0m2,967s
user 0m0,225s
sys 0m0,353s

#เดธเดฎเดฏเด‚ /root/lvm-thin-backup/cron-daily.sh
เดฏเดฅเดพเตผเดคเตเดฅ 1 เดฎเดฟ 2,710 เดธเต†
เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเต 0m12,721s
sys 0m6,671s

#ls -al /เดฌเดพเด•เตเด•เดชเตเดชเต/btrfs/เดฌเดพเด•เตเด•เต/เดฑเดฟเดฎเต‹เดŸเตเดŸเต/*
/เดฌเดพเด•เตเด•เดชเตเดชเต/btrfs/เดฌเดพเด•เตเด•เต/เดฑเดฟเดฎเต‹เดŸเตเดŸเต/เดฌเต‚เดŸเตเดŸเต:
เด†เด•เต† 0
drwxr-xr-x 1 เดฑเต‚เดŸเตเดŸเต เดฑเต‚เดŸเตเดŸเต 1260 เดฎเดพเตผเดšเตเดšเต 26 09:11 .
drwxr-xr-x 1 เดฑเต‚เดŸเตเดŸเต เดฑเต‚เดŸเตเดŸเต 16 เดฎเดพเตผเดšเตเดšเต 6 09:30 ..
drwxr-xr-x 1 เดฑเต‚เดŸเตเดŸเต เดฑเต‚เดŸเตเดŸเต 322 เดฎเดพเตผเดšเตเดšเต 26 02:00 .@base
drwxr-xr-x 1 เดฑเต‚เดŸเตเดŸเต เดฑเต‚เดŸเตเดŸเต 516 เดฎเดพเตผเดšเตเดšเต 6 09:39 .@snap.2020-03-06-09-39-37
drwxr-xr-x 1 เดฑเต‚เดŸเตเดŸเต เดฑเต‚เดŸเตเดŸเต 516 เดฎเดพเตผเดšเตเดšเต 6 09:39 .@snap.2020-03-06-09-39-57
...
/เดฌเดพเด•เตเด•เดชเตเดชเต/btrfs/เดฌเดพเด•เตเด•เต/เดฑเดฟเดฎเต‹เดŸเตเดŸเต/เดฑเต‚เดŸเตเดŸเต:
เด†เด•เต† 0
drwxr-xr-x 1 เดฑเต‚เดŸเตเดŸเต เดฑเต‚เดŸเตเดŸเต 2820 เดฎเดพเตผเดšเตเดšเต 26 09:11 .
drwxr-xr-x 1 เดฑเต‚เดŸเตเดŸเต เดฑเต‚เดŸเตเดŸเต 16 เดฎเดพเตผเดšเตเดšเต 6 09:30 ..
drwxr-xr-x 1 เดฑเต‚เดŸเตเดŸเต เดฑเต‚เดŸเตเดŸเต 240 เดฎเดพเตผเดšเตเดšเต 26 09:11 @.@base
drwxr-xr-x 1 เดฑเต‚เดŸเตเดŸเต เดฑเต‚เดŸเตเดŸเต เดฎเดพเตผเดšเตเดšเต 22 26 09:11 @home.@base
drwxr-xr-x 1 เดฑเต‚เดŸเตเดŸเต เดฑเต‚เดŸเตเดŸเต เดฎเดพเตผเดšเตเดšเต 22 6 09:39 @home.@snap.2020-03-06-09-39-35
drwxr-xr-x 1 เดฑเต‚เดŸเตเดŸเต เดฑเต‚เดŸเตเดŸเต เดฎเดพเตผเดšเตเดšเต 22 6 09:39 @home.@snap.2020-03-06-09-39-57
...
drwxr-xr-x 1 เดฑเต‚เดŸเตเดŸเต เดฑเต‚เดŸเตเดŸเต เดฎเดพเตผเดšเตเดšเต 240 6 09:39 @.@snap.2020-03-06-09-39-26
drwxr-xr-x 1 เดฑเต‚เดŸเตเดŸเต เดฑเต‚เดŸเตเดŸเต เดฎเดพเตผเดšเตเดšเต 240 6 09:39 @.@snap.2020-03-06-09-39-56
...

#lvs -olv_name,lv_size เด‡เดฎเต‡เดœเตเด•เตพ && lvs -olv_name,lv_size เดฌเดพเด•เตเด•เดชเตเดชเต
เดŽเตฝเดตเดฟ เดŽเตฝเดŽเดธเตเดเดธเต†
เดฒเดฟเดจเด•เตเดธเต-เดกเต†เดตเดฒเดชเตเดชเตเดฎเต†เดจเตเดฑเต 128,00 เด—เตเดฐเดพเด‚
เดฒเดฟเดจเด•เตเดธเต-เดกเต†เดตเต.เดฌเต‡เดธเต 128,00 เด—เตเดฐเดพเด‚
เดจเต‡เตผเดคเตเดค เดชเต‚เตพ 1,38t
เดตเดฟเตป8 128,00 เด—เตเดฐเดพเด‚
win8-เดกเดพเดฑเตเดฑ 2,00t
win8-data.base 2,00t - เดกเต†เดตเดฒเดชเตเดชเตผเดฎเดพเตผเด•เตเด•เตเดณเตเดณ เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเต
win8.base 128,00 เด—เตเดฐเดพเด‚
เดŽเตฝเดตเดฟ เดŽเตฝเดŽเดธเตเดเดธเต†
เดฌเดพเด•เตเด•เดชเตเดชเต 256,00 เด—เตเดฐเดพเด‚
เด‡เดฎเต‡เดœเดธเต-เดฒเดฟเดจเด•เตเดธเต-เดกเต†เดตเต.เดฌเต‡เดธเต 128,00 เด—เตเดฐเดพเด‚
images-linux-dev.snap.2020-03-08-10-09-11 128,00g
images-linux-dev.snap.2020-03-08-10-09-25 128,00g
...
เด‡เดฎเต‡เดœเดธเต-เดตเดฟเตป8-เดกเดพเดฑเตเดฑ.เดฌเต‡เดธเต 2,00เดŸเดฟ
images-win8-data.snap.2020-03-16-14-11-55 2,00t
images-win8-data.snap.2020-03-16-14-19-50 2,00t
...
เด‡เดฎเต‡เดœเดธเต-เดตเดฟเตป8.เดฌเต‡เดธเต 128,00 เด—เตเดฐเดพเด‚
images-win8.snap.2020-03-17-04-51-46 128,00g
images-win8.snap.2020-03-18-03-02-49 128,00g
...
เดคเดฟเตป-เดชเต‚เตพ <2,09t

เด•เต‚เดŸเตเดฃเตเดŸเดพเด•เตเด•เตเดจเตเดจ เดชเดพเดตเด•เดณเตเดฎเดพเดฏเดฟ เด‡เดคเดฟเดจเต เดŽเดจเตเดคเต เดฌเดจเตเดงเดฎเตเดฃเตเดŸเต?

เดฎเดฟเด•เตเด•เดตเดพเดฑเตเด‚, เดŽเตฝเดตเดฟเดŽเด‚ เดŽเตฝเดตเดฟ เดฒเต‹เดœเดฟเด•เตเด•เตฝ เดตเต‹เดณเตเดฏเด™เตเด™เตพ เดฎเดฑเตเดฑเต เดตเดฟเดœเดฟเด•เตพเด•เตเด•เตเดณเตเดณ เดŽเตฝเดตเดฟเดŽเด‚ เดชเดฟเดตเดฟ เดซเดฟเดธเดฟเด•เตเด•เตฝ เดตเต‹เดณเตเดฏเด™เตเด™เดณเดพเด•เดพเด‚. เด•เต‚เดŸเตเด•เต‚เดŸเตเดŸเตเดจเตเดจ เดชเดพเดตเด•เดณเต†เดชเตเดชเต‹เดฒเต† เดŽเตฝเดตเดฟเดŽเด‚ เด†เดตเตผเดคเตเดคเดจเดชเดฐเดฎเดพเด•เดพเด‚. เด‡เดคเต เดŽเตฝเดตเดฟเดŽเด‚ เดŽเด•เตเดธเตเดŸเตเดฐเต€เด‚ เดซเตเดฒเต†เด•เตเดธเดฟเดฌเดฟเดฒเดฟเดฑเตเดฑเดฟ เดจเตฝเด•เตเดจเตเดจเต.

เดชเดฟ.เดŽเดธเต

เด…เดŸเตเดคเตเดค เดฒเต‡เด–เดจเดคเตเดคเดฟเตฝ, เดนเต‹เด‚ เดกเต†เดธเตโ€Œเด•เตโ€ŒเดŸเต‹เดชเตเดชเตเด•เตพ, เดนเต‹เด‚ เด‡เตปเดฑเตผเดจเต†เดฑเตเดฑเต, P2P เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เตเด•เตพ เดŽเดจเตเดจเดฟเดต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดจเดฟเดฐเดตเดงเดฟ เดญเต‚เด–เดฃเตเดกเด™เตเด™เดณเดฟเตฝ เด†เดตเตผเดคเตเดคเดจเดคเตเดคเต‹เดŸเต† เดœเดฟเดฏเต‹-เดกเดฟเดธเตเดŸเตเดฐเดฟเดฌเตเดฏเต‚เดŸเตเดŸเดกเต เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเต/เดตเดฟเดŽเด‚ เด•เตเดฒเดธเตเดฑเตเดฑเตผ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเดฏเดฟ เดธเดฎเดพเดจเดฎเดพเดฏ เดจเดฟเดฐเดตเดงเดฟ เดฎเตŠเดฌเตˆเตฝ เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเต เดธเดฟเดธเตเดฑเตเดฑเด™เตเด™เตพ/เด•เต†เดตเดฟเดŽเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เดžเด™เตเด™เตพ เดถเตเดฐเดฎเดฟเด•เตเด•เตเด‚.

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

DDoS เดชเดฐเดฟเดฐเด•เตเดทเดฏเตเดณเตเดณ เดธเตˆเดฑเตเดฑเตเด•เตพเด•เตเด•เดพเดฏเดฟ เดตเดฟเดถเตเดตเดธเดจเต€เดฏเดฎเดพเดฏ เดนเต‹เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดตเดพเด™เตเด™เตเด•, VPS VDS เดธเต†เตผเดตเดฑเตเด•เตพ ๐Ÿ”ฅ DDoS เดชเดฐเดฟเดฐเด•เตเดท, VPS VDS เดธเต†เตผเดตเดฑเตเด•เตพ เด‰เดณเตเดณ เดตเดฟเดถเตเดตเดธเดจเต€เดฏเดฎเดพเดฏ เดตเต†เดฌเตโ€Œเดธเตˆเดฑเตเดฑเต เดนเต‹เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดตเดพเด™เตเด™เต‚ | ProHoster