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

เดชเด•เดฒเดฟเดจเตเดฑเต† เดธเดฎเดฏเด‚.
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 เดฌเต‡เด•เดณเดฟเดฒเต† เดธเตเดฒเตˆเดกเตเด•เดณเดฟเตฝ เดธเต—เด•เดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฏเดฟ เดธเตเดฅเดฟเดคเดฟเดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เดถเดฐเดฟ, เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚, เดฒเดฟเดจเด•เตเดธเดฟเตฝ เดŽเดธเตเดŽเดธเตเดกเดฟ เด•เดพเดทเดฟเด‚เด—เต เดฐเต€เดคเดฟเด•เตพ เดชเดฐเต€เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

#sudo bash

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

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

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

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

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

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

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

เด•เต‚เดŸเดพเดคเต†, เดฐเดšเดฏเดฟเดคเดพเดตเต เดธเดพเดงเดพเดฐเดฃเดฏเดพเดฏเดฟ เดนเดพเตผเดกเตโ€Œเดตเต†เดฏเดฑเดฟเตฝ เด’เดฐเต เดฎเดฟเดจเดฟเดฎเด‚ เดธเต‹เดซเตโ€Œเดฑเตเดฑเตโ€Œเดตเต†เดฏเตผ เดธเต‚เด•เตเดทเดฟเด•เตเด•เดพเดจเตเด‚ 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 : start= 2048, size= 1953523120, type=fd, bootable
EOF
#sfdisk /dev/sdg < hdd.part
#sfdisk /dev/sdh < hdd.part
#sfdisk /dev/sdi < hdd.part
#sfdisk /dev/sdj < hdd.part
#sfdisk /dev/sdk < hdd.part
#sfdisk /dev/sdl < hdd.part
#sfdisk /dev/sdm < hdd.part
#sfdisk /dev/sdn < hdd.part

SATA SSD

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

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

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

เด‡เดตเดฟเดŸเต† เดจเดฎเตเดฎเตพ เดฐเดฃเตเดŸเต เดตเดฟเดญเดพเด—เด™เตเด™เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด‚. เด†เดฆเตเดฏเดคเตเดคเต‡เดคเต 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 : start= 2048, size= 2097152, type=fd, bootable
/dev/sda2 : start= 2099200, size= 3300950016, type=fd
EOF
#sfdisk /dev/sda < ssd.part
#sfdisk /dev/sdb < ssd.part
#sfdisk /dev/sdc < ssd.part
#sfdisk /dev/sdd < ssd.part
#sfdisk /dev/sde < ssd.part
#sfdisk /dev/sdf < ssd.part

เด…เดฑเต‡เด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเต

เด†เดฆเตเดฏเด‚, เดจเดฎเตเดฎเตพ เดฎเต†เดทเต€เดจเตเดฑเต† เดชเต‡เดฐเต เดฎเดพเดฑเตเดฑเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต. เดนเต‹เดธเตเดฑเตเดฑเต เดจเดพเดฎเด‚ mdadm-เดจเตเดณเตเดณเดฟเตฝ เดŽเดตเดฟเดŸเต†เดฏเต‹ เด…เดฑเต‡ เดชเต‡เดฐเดฟเดจเตเดฑเต† เดญเดพเด—เดฎเดพเดฃเต เดŽเดจเตเดจเดคเดฟเดจเดพเตฝ เด‡เดคเต เด†เดตเดถเตเดฏเดฎเดพเดฃเต. เดคเต€เตผเดšเตเดšเดฏเดพเดฏเตเด‚, เด…เดฑเต‡เด•เตพ เดชเดฟเดจเตเดจเต€เดŸเต เดชเตเดจเตผเดจเดพเดฎเด•เดฐเดฃเด‚ เดšเต†เดฏเตเดฏเดพเดตเตเดจเตเดจเดคเดพเดฃเต, เดŽเดจเตเดจเดพเตฝ เด‡เดคเต เด’เดฐเต เด…เดจเดพเดตเดถเตเดฏ เดจเดŸเดชเดŸเดฟเดฏเดพเดฃเต.

#mcedit /etc/hostname
#mcedit /etc/hosts
#hostname
vdesk0

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 เด‡เตปเดธเตเดฑเตเดฑเดพเดณเต‡เดทเตป

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

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

  • /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 เดตเต‹เดณเตเดฏเด™เตเด™เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด‚.

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

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

#sudo bash

เด‡เตปเดธเตเดฑเตเดฑเดฒเต‡เดทเตป เดคเตเดŸเดฐเดพเตป เด’เดฐเต chroot เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด•:

#mkdir /mnt/chroot
#mount -o defaults,space_cache,noatime,nodiratime,discard,subvol=@ /dev/mapper/root-root /mnt/chroot
#mount -o defaults,space_cache,noatime,nodiratime,discard,subvol=@home /dev/mapper/root-root /mnt/chroot/home
#mount -o defaults,space_cache,noatime,nodiratime,discard /dev/md1 /mnt/chroot/boot
#mount --bind /proc /mnt/chroot/proc
#mount --bind /sys /mnt/chroot/sys
#mount --bind /dev /mnt/chroot/dev

เดจเดฎเตเด•เตเด•เต chroot-เตฝ เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เตเด‚ เดนเต‹เดธเตเดฑเตเดฑเตเดจเดพเดฎเดตเตเด‚ เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดฏเดพเด‚:

#cat /etc/hostname >/mnt/chroot/etc/hostname
#cat /etc/hosts >/mnt/chroot/etc/hosts
#cat /etc/resolv.conf >/mnt/chroot/etc/resolv.conf

เดจเดฎเตเด•เตเด•เต chroot เดชเดฐเดฟเดคเดธเตเดฅเดฟเดคเดฟเดฏเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เด•เดพเด‚:

#chroot /mnt/chroot

เด’เดจเตเดจเดพเดฎเดคเดพเดฏเดฟ, เดžเด™เตเด™เตพ เดชเดพเด•เตเด•เต‡เดœเตเด•เตพ เดตเดฟเดคเดฐเดฃเด‚ เดšเต†เดฏเตเดฏเตเด‚:

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

เด…เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏ เดธเดฟเดธเตเดฑเตเดฑเด‚ เด‡เตปเดธเตเดฑเตเดฑเดพเดณเต‡เดทเตป เด•เดพเดฐเดฃเด‚ เดตเดณเดžเตเดžเดคเดพเดฏเดฟ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดค เดŽเดฒเตเดฒเดพ เดชเดพเด•เตเด•เต‡เดœเตเด•เดณเตเด‚ เดชเดฐเดฟเดถเต‹เดงเดฟเดšเตเดšเต เดถเดฐเดฟเดฏเดพเด•เตเด•เดพเด‚:

#CORRUPTED_PACKAGES=$(debsums -s 2>&1 | awk '{print $6}' | uniq)
#apt-get install --reinstall $CORRUPTED_PACKAGES

เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เดจเดฟเด™เตเด™เตพ เด†เดฆเตเดฏเด‚ /etc/apt/sources.list เดŽเดกเดฟเดฑเตเดฑเต เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเดพเดฏเดฟ เดตเดจเตเดจเต‡เด•เตเด•เดพเด‚

TRIM/DISCARD เดชเตเดฐเดตเตผเดคเตเดคเดจเด•เตเดทเดฎเดฎเดพเด•เตเด•เดพเตป RAID 6 เดฎเตŠเดกเตเดฏเต‚เดณเดฟเดจเตเดณเตเดณ เดชเดฐเดพเดฎเต€เดฑเตเดฑเดฑเตเด•เตพ เด•เตเดฐเดฎเต€เด•เดฐเดฟเด•เตเด•เดพเด‚:

#cat >/etc/modprobe.d/raid456.conf << EOF
options raid456 devices_handle_discard_safely=1
EOF

เดจเดฎเตเด•เตเด•เต เดจเดฎเตเดฎเตเดŸเต† เด…เดฑเต‡เด•เตพ เด…เดฒเตเดชเด‚ เดฎเดพเดฑเตเดฑเดพเด‚:

#cat >/etc/udev/rules.d/60-md.rules << EOF
SUBSYSTEM=="block", KERNEL=="md*", ACTION=="change", TEST=="md/stripe_cache_size", ATTR{md/stripe_cache_size}="32768"
SUBSYSTEM=="block", KERNEL=="md*", ACTION=="change", TEST=="md/sync_speed_min", ATTR{md/sync_speed_min}="48000"
SUBSYSTEM=="block", KERNEL=="md*", ACTION=="change", TEST=="md/sync_speed_max", ATTR{md/sync_speed_max}="300000"
EOF
#cat >/etc/udev/rules.d/62-hdparm.rules << EOF
SUBSYSTEM=="block", ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", RUN+="/sbin/hdparm -B 254 /dev/%k"
EOF
#cat >/etc/udev/rules.d/63-blockdev.rules << EOF
SUBSYSTEM=="block", ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", RUN+="/sbin/blockdev --setra 1024 /dev/%k"
SUBSYSTEM=="block", ACTION=="add|change", KERNEL=="md*", RUN+="/sbin/blockdev --setra 0 /dev/%k"
EOF

เด…เดคเต เดŽเดจเตเดคเดพเดฏเดฟเดฐเตเดจเตเดจเต..?เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจเดต เดšเต†เดฏเตเดฏเตเดจเตเดจ เด’เดฐเต เด•เต‚เดŸเตเดŸเด‚ udev เดจเดฟเดฏเดฎเด™เตเด™เตพ เดžเด™เตเด™เตพ เดธเตƒเดทเตเดŸเดฟเดšเตเดšเต:

  • RAID 2020-เดจเตเดณเตเดณ เดฌเตเดฒเต‹เด•เตเด•เต เด•เดพเดทเต† เดตเดฒเตเดชเตเดชเด‚ 6-เดจเต เดชเดฐเตเดฏเดพเดชเตเดคเดฎเดพเด•เตเด•เดพเตป เดธเดœเตเดœเดฎเดพเด•เตเด•เตเด•. เดฒเดฟเดจเด•เตโ€Œเดธเต เดธเตƒเดทเตโ€ŒเดŸเดฟเดšเตเดšเดคเดฟเดจเตเดถเต‡เดทเด‚ เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟ เดฎเต‚เดฒเตเดฏเด‚ เดฎเดพเดฑเดฟเดฏเดฟเดŸเตเดŸเดฟเดฒเตเดฒเต†เดจเตเดจเต เดคเต‹เดจเตเดจเตเดจเตเดจเต, เดฎเดพเดคเตเดฐเดฎเดฒเตเดฒ เด‡เดคเต เดตเดณเดฐเต†เด•เตเด•เดพเดฒเดฎเดพเดฏเดฟ เดชเดฐเตเดฏเดพเดชเตเดคเดฎเดฒเตเดฒ.
  • เด…เดฑเต‡ เดšเต†เด•เตเด•เตเด•เดณเตเดŸเต†/เดธเดฟเตปเด•เตเดฐเตŠเดฃเตˆเดธเต‡เดทเดจเตเด•เดณเตเดŸเต† เด•เดพเดฒเดฏเดณเดตเดฟเดจเดพเดฏเดฟ เด•เตเดฑเดžเตเดžเดคเต 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

activation {
thin_pool_autoextend_threshold=90
thin_pool_autoextend_percent=5
}
allocation {
cache_pool_max_chunks=2097152
}
devices {
global_filter=["r|^/dev/.*_corig$|","r|^/dev/.*_cdata$|","r|^/dev/.*_cmeta$|","r|^/dev/.*gpv$|","r|^/dev/images/.*$|","r|^/dev/mapper/images.*$|","r|^/dev/backup/.*$|","r|^/dev/mapper/backup.*$|"] issue_discards=1
}
EOF

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

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

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

  • เดŽเตฝเดตเดฟเดŽเด‚ เด•เดพเดทเต† (เดธเดฟเดกเดพเดฑเตเดฑ) เด…เดŸเด™เตเด™เดฟเดฏ เด‰เดชเด•เดฐเดฃเด™เตเด™เตพ
  • เด•เดพเดทเต† เดฎเดฑเดฟเด•เดŸเดจเตเดจเต เดŽเตฝเดตเดฟเดŽเด‚ เด•เดพเดทเต† เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด‰เดชเด•เดฐเดฃเด™เตเด™เตพ เด•เดพเดทเต† เดšเต†เดฏเตโ€Œเดคเต ( _เด•เต‹เดฑเดฟเด—เต). เดˆ เดธเดพเดนเดšเดฐเตเดฏเดคเตเดคเดฟเตฝ, เด•เดพเดทเต† เดšเต†เดฏเตโ€Œเดค เด‰เดชเด•เดฐเดฃเด‚ เดคเดจเตเดจเต† เด‡เดชเตเดชเต‹เดดเตเด‚ เด•เดพเดทเต†เดฏเดฟเดฒเต‚เดŸเต† เดธเตเด•เดพเตป เดšเต†เดฏเตเดฏเตเด‚ (เดตเต†เดฑเตเด‚ ).
  • เดŽเตฝเดตเดฟเดŽเด‚ เด•เดพเดทเต† เดฎเต†เดฑเตเดฑเดพเดกเดพเดฑเตเดฑ (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' model='virtio-scsi'>
<alias name='scsi0'/>
<address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
</controller>

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

BTRFS เดฌเดพเด•เตเด•เดชเตเดชเต

เด•เต‚เดŸเต† เดฑเต†เดกเดฟเดฎเต†เดฏเตเดกเต เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด• เด…เด™เตเด™เต‡เดฏเดฑเตเดฑเด‚ เดœเดพเด—เตเดฐเดคเดฏเตเด‚ เดธเตเดตเดจเตเดคเด‚ เด‰เดคเตเดคเดฐเดตเดพเดฆเดฟเดคเตเดคเดคเตเดคเดฟเตฝ. เดฐเดšเดฏเดฟเดคเดพเดตเต เดˆ เด•เต‹เดกเต เดธเตเดตเดฏเด‚ เดŽเดดเตเดคเดฟ เดคเดจเดฟเด•เตเด•เตเดตเต‡เดฃเตเดŸเดฟ เดฎเดพเดคเตเดฐเดฎเดพเดฏเดฟ. เดชเดฐเดฟเดšเดฏเดธเดฎเตเดชเดจเตเดจเดฐเดพเดฏ เดชเดฒ เดฒเดฟเดจเด•เตเดธเต เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เตพเด•เตเด•เตเด‚ เดธเดฎเดพเดจเดฎเดพเดฏ เด‰เดชเด•เดฐเดฃเด™เตเด™เตพ เด‰เดฃเตเดŸเต†เดจเตเดจเต เดŽเดจเดฟเด•เตเด•เต เด‰เดฑเดชเตเดชเตเดฃเตเดŸเต, เดฎเดฑเตเดฑเดพเดฐเตเดŸเต†เดฏเต†เด™เตเด•เดฟเดฒเตเด‚ เดชเด•เตผเดคเตเดคเต‡เดฃเตเดŸ เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ.

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

#lvcreate -L 256G --name backup backup

เดจเดฎเตเด•เตเด•เต เด‡เดคเต BTRFS-เตฝ เดซเต‹เตผเดฎเดพเดฑเตเดฑเต เดšเต†เดฏเตเดฏเดพเด‚:

#mkfs.btrfs /dev/backup/backup

เดจเดฎเตเด•เตเด•เต เดฎเต—เดฃเตเดŸเต เดชเต‹เดฏเดฟเดจเตเดฑเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเดšเตเดšเต เดซเดฏเตฝ เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเดจเตเดฑเต† เดฑเต‚เดŸเตเดŸเต เด‰เดชเดตเดฟเดญเดพเด—เด™เตเด™เตพ เดฎเตŒเดฃเตเดŸเต เดšเต†เดฏเตเดฏเดพเด‚:

#mkdir /backup
#mkdir /backup/btrfs
#mkdir /backup/btrfs/root
#mkdir /backup/btrfs/back
#ln -s /boot /backup/btrfs
# cat >>/etc/fstab << EOF

/dev/mapper/root-root /backup/btrfs/root btrfs defaults,space_cache,noatime,nodiratime 0 2
/dev/mapper/backup-backup /backup/btrfs/back btrfs defaults,space_cache,noatime,nodiratime 0 2
EOF
#mount -a
#update-initramfs -u
#update-grub

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

#mkdir /backup/btrfs/back/remote
#mkdir /backup/btrfs/back/remote/root
#mkdir /backup/btrfs/back/remote/boot

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

#mkdir /root/btrfs-backup

เดจเดฎเตเด•เตเด•เต เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดชเด•เตผเดคเตเดคเดพเด‚:

เดญเดฏเดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจ เดงเดพเดฐเดพเดณเด‚ เดฌเดพเดทเต เด•เต‹เดกเตเด•เตพ. เดจเดฟเด™เตเด™เดณเตเดŸเต† เดธเตเดตเดจเตเดคเด‚ เด‰เดคเตเดคเดฐเดตเดพเดฆเดฟเดคเตเดคเดคเตเดคเดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•. เดฐเดšเดฏเดฟเดคเดพเดตเดฟเดจเต เดฆเต‡เดทเตเดฏเดชเตเดชเต†เดŸเตเดŸ เด•เดคเตเดคเตเด•เตพ เดŽเดดเตเดคเดฐเตเดคเต...#cat >/root/btrfs-backup/btrfs-backup.sh << EOF
#!/bin/bash
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

SCRIPT_FILE="$(realpath $0)"
SCRIPT_DIR="$(dirname $SCRIPT_FILE)"
SCRIPT_NAME="$(basename -s .sh $SCRIPT_FILE)"

LOCK_FILE="/dev/shm/$SCRIPT_NAME.lock"
DATE_PREFIX='%Y-%m-%d'
DATE_FORMAT=$DATE_PREFIX'-%H-%M-%S'
DATE_REGEX='[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]-[0-9][0-9]-[0-9][0-9]-[0-9][0-9]'
BASE_SUFFIX=".@base"
PEND_SUFFIX=".@pend"
SNAP_SUFFIX=".@snap"
MOUNTS="/backup/btrfs/"
BACKUPS="/backup/btrfs/back/remote/"

function terminate ()
{
echo "$1" >&2
exit 1
}

function wait_lock()
{
flock 98
}

function wait_lock_or_terminate()
{
echo "Wating for lock..."
wait_lock || terminate "Failed to get lock. Exiting..."
echo "Got lock..."
}

function suffix()
{
FORMATTED_DATE=$(date +"$DATE_FORMAT")
echo "$SNAP_SUFFIX.$FORMATTED_DATE"
}

function filter()
{
FORMATTED_DATE=$(date --date="$1" +"$DATE_PREFIX")
echo "$SNAP_SUFFIX.$FORMATTED_DATE"
}

function backup()
{
SOURCE_PATH="$MOUNTS$1"
TARGET_PATH="$BACKUPS$1"
SOURCE_BASE_PATH="$MOUNTS$1$BASE_SUFFIX"
TARGET_BASE_PATH="$BACKUPS$1$BASE_SUFFIX"
TARGET_BASE_DIR="$(dirname $TARGET_BASE_PATH)"
SOURCE_PEND_PATH="$MOUNTS$1$PEND_SUFFIX"
TARGET_PEND_PATH="$BACKUPS$1$PEND_SUFFIX"
if [ -d "$SOURCE_BASE_PATH" ] then
echo "$SOURCE_BASE_PATH found"
else
echo "$SOURCE_BASE_PATH File not found creating snapshot of $SOURCE_PATH to $SOURCE_BASE_PATH"
btrfs subvolume snapshot -r $SOURCE_PATH $SOURCE_BASE_PATH
sync
if [ -d "$TARGET_BASE_PATH" ] then
echo "$TARGET_BASE_PATH found out of sync with source... removing..."
btrfs subvolume delete -c $TARGET_BASE_PATH
sync
fi
fi
if [ -d "$TARGET_BASE_PATH" ] then
echo "$TARGET_BASE_PATH found"
else
echo "$TARGET_BASE_PATH not found. Synching to $TARGET_BASE_DIR"
btrfs send $SOURCE_BASE_PATH | btrfs receive $TARGET_BASE_DIR
sync
fi
if [ -d "$SOURCE_PEND_PATH" ] then
echo "$SOURCE_PEND_PATH found removing..."
btrfs subvolume delete -c $SOURCE_PEND_PATH
sync
fi
btrfs subvolume snapshot -r $SOURCE_PATH $SOURCE_PEND_PATH
sync
if [ -d "$TARGET_PEND_PATH" ] then
echo "$TARGET_PEND_PATH found removing..."
btrfs subvolume delete -c $TARGET_PEND_PATH
sync
fi
echo "Sending $SOURCE_PEND_PATH to $TARGET_PEND_PATH"
btrfs send -p $SOURCE_BASE_PATH $SOURCE_PEND_PATH | btrfs receive $TARGET_BASE_DIR
sync
TARGET_DATE_SUFFIX=$(suffix)
btrfs subvolume snapshot -r $TARGET_PEND_PATH "$TARGET_PATH$TARGET_DATE_SUFFIX"
sync
btrfs subvolume delete -c $SOURCE_BASE_PATH
sync
btrfs subvolume delete -c $TARGET_BASE_PATH
sync
mv $SOURCE_PEND_PATH $SOURCE_BASE_PATH
mv $TARGET_PEND_PATH $TARGET_BASE_PATH
sync
}

function list()
{
LIST_TARGET_BASE_PATH="$BACKUPS$1$BASE_SUFFIX"
LIST_TARGET_BASE_DIR="$(dirname $LIST_TARGET_BASE_PATH)"
LIST_TARGET_BASE_NAME="$(basename -s .$BASE_SUFFIX $LIST_TARGET_BASE_PATH)"
find "$LIST_TARGET_BASE_DIR" -maxdepth 1 -mindepth 1 -type d -printf "%fn" | grep "${LIST_TARGET_BASE_NAME/$BASE_SUFFIX/$SNAP_SUFFIX}.$DATE_REGEX"
}

function remove()
{
REMOVE_TARGET_BASE_PATH="$BACKUPS$1$BASE_SUFFIX"
REMOVE_TARGET_BASE_DIR="$(dirname $REMOVE_TARGET_BASE_PATH)"
btrfs subvolume delete -c $REMOVE_TARGET_BASE_DIR/$2
sync
}

function removeall()
{
DATE_OFFSET="$2"
FILTER="$(filter "$DATE_OFFSET")"
while read -r SNAPSHOT ; do
remove "$1" "$SNAPSHOT"
done < <(list "$1" | grep "$FILTER")

}

(
COMMAND="$1"
shift

case "$COMMAND" in
"--help")
echo "Help"
;;
"suffix")
suffix
;;
"filter")
filter "$1"
;;
"backup")
wait_lock_or_terminate
backup "$1"
;;
"list")
list "$1"
;;
"remove")
wait_lock_or_terminate
remove "$1" "$2"
;;
"removeall")
wait_lock_or_terminate
removeall "$1" "$2"
;;
*)
echo "None.."
;;
esac
) 98>$LOCK_FILE

EOF

เด…เดคเต เดชเต‹เดฒเตเด‚ เดŽเดจเตเดคเต เดšเต†เดฏเตเดฏเตเดจเตเดจเต..?BTRFS เดธเตเดจเดพเดชเตเดชเตเดทเต‹เดŸเตเดŸเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ BTRFS 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="$(realpath $0)"
SCRIPT_DIR="$(dirname $SCRIPT_FILE)"
SCRIPT_NAME="$(basename -s .sh $SCRIPT_FILE)"

BACKUP_SCRIPT="$SCRIPT_DIR/btrfs-backup.sh"
RETENTION="-60 day"
$BACKUP_SCRIPT backup root/@
$BACKUP_SCRIPT removeall root/@ "$RETENTION"
$BACKUP_SCRIPT backup root/@home
$BACKUP_SCRIPT removeall root/@home "$RETENTION"
$BACKUP_SCRIPT backup boot/
$BACKUP_SCRIPT removeall boot/ "$RETENTION"
EOF

เด…เดคเต†เดจเตเดคเต เดšเต†เดฏเตเดฏเตเด‚..?เดฌเดพเด•เตเด•เดชเตเดชเต FS-เตฝ เดฒเดฟเดธเตเดฑเตเดฑเต เดšเต†เดฏเตเดค BTRFS เดตเต‹เดณเตเดฏเด™เตเด™เดณเตเดŸเต† เด‡เตปเด•เตเดฐเดฟเดฎเต†เดจเตเดฑเตฝ เดธเตเดจเดพเดชเตเดชเตเดทเต‹เดŸเตเดŸเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดธเดฎเดจเตเดตเดฏเดฟเดชเตเดชเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เด‡เดคเดฟเดจเตเดถเต‡เดทเด‚, เด‡เดคเต 60 เดฆเดฟเดตเดธเด‚ เดฎเตเดฎเตเดชเต เดธเตƒเดทเตเดŸเดฟเดšเตเดš เดŽเดฒเตเดฒเดพ เดšเดฟเดคเตเดฐเด™เตเด™เดณเตเด‚ เด‡เดฒเตเดฒเดพเดคเดพเด•เตเด•เตเดจเตเดจเต. เดธเดฎเดพเดฐเด‚เดญเดฟเดšเตเดšเดคเดฟเดจเต เดถเต‡เดทเด‚, เดฒเดฟเดธเตโ€Œเดฑเตเดฑเต เดšเต†เดฏเตโ€Œเดค เดตเต‹เดณเตเดฏเด™เตเด™เดณเตเดŸเต† เดกเต‡เดฑเตเดฑเดกเต เดธเตโ€Œเดจเดพเดชเตเดชเตโ€Œเดทเต‹เดŸเตเดŸเตเด•เตพ /backup/btrfs/back/remote/ เดธเดฌเตโ€Œเดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟเด•เดณเดฟเตฝ เดฆเตƒเดถเตเดฏเดฎเดพเด•เตเด‚.

เดจเดฎเตเด•เตเด•เต เด•เต‹เดกเต เดŽเด•เตเดธเดฟเด•เตเดฏเต‚เดทเตป เด…เดตเด•เดพเดถเด™เตเด™เตพ เดจเตฝเด•เดพเด‚:

#chmod +x /root/btrfs-backup/cron-daily.sh
#chmod +x /root/btrfs-backup/btrfs-backup.sh

เดจเดฎเตเด•เตเด•เต เด…เดคเต เดชเดฐเดฟเดถเต‹เดงเดฟเดšเตเดšเต เด•เตเดฐเต‹เดฃเดฟเตฝ เด‡เดŸเดพเด‚:

#/usr/bin/nice -n 19 /usr/bin/ionice -c 3 /root/btrfs-backup/cron-daily.sh 2>&1 | /usr/bin/logger -t btrfs-backup
#cat /var/log/syslog | grep btrfs-backup
#crontab -e
0 2 * * * /usr/bin/nice -n 19 /usr/bin/ionice -c 3 /root/btrfs-backup/cron-daily.sh 2>&1 | /usr/bin/logger -t btrfs-backup

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

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

#lvcreate -L 274877906944B --poolmetadataspare y --poolmetadatasize 4294967296B --chunksize 64k -Z y -T backup/thin-pool

เดจเดฎเตเด•เตเด•เต ddrescue เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเดพเด‚, เด•เดพเดฐเดฃเด‚... เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเตเด•เตพ เดˆ เด‰เดชเด•เดฐเดฃเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด‚:

#apt-get install gddrescue

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

#mkdir /root/lvm-thin-backup

เดจเดฎเตเด•เตเด•เต เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเตเด•เตพ เดชเด•เตผเดคเตเดคเดพเด‚:

เด‰เดณเตเดณเดฟเตฝ เด’เดฐเต เดชเดพเดŸเต เดฌเดนเดณเด‚...#cat >/root/lvm-thin-backup/lvm-thin-backup.sh << EOF
#!/bin/bash
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

SCRIPT_FILE="$(realpath $0)"
SCRIPT_DIR="$(dirname $SCRIPT_FILE)"
SCRIPT_NAME="$(basename -s .sh $SCRIPT_FILE)"

LOCK_FILE="/dev/shm/$SCRIPT_NAME.lock"
DATE_PREFIX='%Y-%m-%d'
DATE_FORMAT=$DATE_PREFIX'-%H-%M-%S'
DATE_REGEX='[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]-[0-9][0-9]-[0-9][0-9]-[0-9][0-9]'
BASE_SUFFIX=".base"
PEND_SUFFIX=".pend"
SNAP_SUFFIX=".snap"
BACKUPS="backup"
BACKUPS_POOL="thin-pool"

export LVM_SUPPRESS_FD_WARNINGS=1

function terminate ()
{
echo "$1" >&2
exit 1
}

function wait_lock()
{
flock 98
}

function wait_lock_or_terminate()
{
echo "Wating for lock..."
wait_lock || terminate "Failed to get lock. Exiting..."
echo "Got lock..."
}

function suffix()
{
FORMATTED_DATE=$(date +"$DATE_FORMAT")
echo "$SNAP_SUFFIX.$FORMATTED_DATE"
}

function filter()
{
FORMATTED_DATE=$(date --date="$1" +"$DATE_PREFIX")
echo "$SNAP_SUFFIX.$FORMATTED_DATE"
}

function read_thin_id {
lvs --rows --reportformat basic --quiet -othin_id "$1/$2" | awk '{print $2}'
}

function read_pool_lv {
lvs --rows --reportformat basic --quiet -opool_lv "$1/$2" | awk '{print $2}'
}

function read_lv_dm_path {
lvs --rows --reportformat basic --quiet -olv_dm_path "$1/$2" | awk '{print $2}'
}

function read_lv_active {
lvs --rows --reportformat basic --quiet -olv_active "$1/$2" | awk '{print $2}'
}

function read_lv_chunk_size {
lvs --rows --reportformat basic --quiet --units b --nosuffix -ochunk_size "$1/$2" | awk '{print $2}'
}

function read_lv_size {
lvs --rows --reportformat basic --quiet --units b --nosuffix -olv_size "$1/$2" | awk '{print $2}'
}

function activate_volume {
lvchange -ay -Ky "$1/$2"
}

function deactivate_volume {
lvchange -an "$1/$2"
}

function read_thin_metadata_snap {
dmsetup status "$1" | awk '{print $7}'
}

function thindiff()
{
DIFF_VG="$1"
DIFF_SOURCE="$2"
DIFF_TARGET="$3"
DIFF_SOURCE_POOL=$(read_pool_lv $DIFF_VG $DIFF_SOURCE)
DIFF_TARGET_POOL=$(read_pool_lv $DIFF_VG $DIFF_TARGET)

if [ "$DIFF_SOURCE_POOL" == "" ] then
(>&2 echo "Source LV is not thin.")
exit 1
fi

if [ "$DIFF_TARGET_POOL" == "" ] then
(>&2 echo "Target LV is not thin.")
exit 1
fi

if [ "$DIFF_SOURCE_POOL" != "$DIFF_TARGET_POOL" ] then
(>&2 echo "Source and target LVs belong to different thin pools.")
exit 1
fi

DIFF_POOL_PATH=$(read_lv_dm_path $DIFF_VG $DIFF_SOURCE_POOL)
DIFF_SOURCE_ID=$(read_thin_id $DIFF_VG $DIFF_SOURCE)
DIFF_TARGET_ID=$(read_thin_id $DIFF_VG $DIFF_TARGET)
DIFF_POOL_PATH_TPOOL="$DIFF_POOL_PATH-tpool"
DIFF_POOL_PATH_TMETA="$DIFF_POOL_PATH"_tmeta
DIFF_POOL_METADATA_SNAP=$(read_thin_metadata_snap $DIFF_POOL_PATH_TPOOL)

if [ "$DIFF_POOL_METADATA_SNAP" != "-" ] then
(>&2 echo "Thin pool metadata snapshot already exist. Assuming stale one. Will release metadata snapshot in 5 seconds.")
sleep 5
dmsetup message $DIFF_POOL_PATH_TPOOL 0 release_metadata_snap
fi

dmsetup message $DIFF_POOL_PATH_TPOOL 0 reserve_metadata_snap
DIFF_POOL_METADATA_SNAP=$(read_thin_metadata_snap $DIFF_POOL_PATH_TPOOL)

if [ "$DIFF_POOL_METADATA_SNAP" == "-" ] then
(>&2 echo "Failed to create thin pool metadata snapshot.")
exit 1
fi

#We keep output in variable because metadata snapshot need to be released early.
DIFF_DATA=$(thin_delta -m$DIFF_POOL_METADATA_SNAP --snap1 $DIFF_SOURCE_ID --snap2 $DIFF_TARGET_ID $DIFF_POOL_PATH_TMETA)

dmsetup message $DIFF_POOL_PATH_TPOOL 0 release_metadata_snap

echo $"$DIFF_DATA" | grep -E 'different|left_only|right_only' | sed 's/</"/g' | sed 's/ /"/g' | awk -F'"' '{print $6 "t" $8 "t" $11}' | sed 's/different/copy/g' | sed 's/left_only/copy/g' | sed 's/right_only/discard/g'

}

function thinsync()
{
SYNC_VG="$1"
SYNC_PEND="$2"
SYNC_BASE="$3"
SYNC_TARGET="$4"
SYNC_PEND_POOL=$(read_pool_lv $SYNC_VG $SYNC_PEND)
SYNC_BLOCK_SIZE=$(read_lv_chunk_size $SYNC_VG $SYNC_PEND_POOL)
SYNC_PEND_PATH=$(read_lv_dm_path $SYNC_VG $SYNC_PEND)

activate_volume $SYNC_VG $SYNC_PEND

while read -r SYNC_ACTION SYNC_OFFSET SYNC_LENGTH ; do
SYNC_OFFSET_BYTES=$((SYNC_OFFSET * SYNC_BLOCK_SIZE))
SYNC_LENGTH_BYTES=$((SYNC_LENGTH * SYNC_BLOCK_SIZE))
if [ "$SYNC_ACTION" == "copy" ] then
ddrescue --quiet --force --input-position=$SYNC_OFFSET_BYTES --output-position=$SYNC_OFFSET_BYTES --size=$SYNC_LENGTH_BYTES "$SYNC_PEND_PATH" "$SYNC_TARGET"
fi

if [ "$SYNC_ACTION" == "discard" ] then
blkdiscard -o $SYNC_OFFSET_BYTES -l $SYNC_LENGTH_BYTES "$SYNC_TARGET"
fi
done < <(thindiff "$SYNC_VG" "$SYNC_PEND" "$SYNC_BASE")
}

function discard_volume()
{
DISCARD_VG="$1"
DISCARD_LV="$2"
DISCARD_LV_PATH=$(read_lv_dm_path "$DISCARD_VG" "$DISCARD_LV")
if [ "$DISCARD_LV_PATH" != "" ] then
echo "$DISCARD_LV_PATH found"
else
echo "$DISCARD_LV not found in $DISCARD_VG"
exit 1
fi
DISCARD_LV_POOL=$(read_pool_lv $DISCARD_VG $DISCARD_LV)
DISCARD_LV_SIZE=$(read_lv_size "$DISCARD_VG" "$DISCARD_LV")
lvremove -y --quiet "$DISCARD_LV_PATH" || exit 1
lvcreate --thin-pool "$DISCARD_LV_POOL" -V "$DISCARD_LV_SIZE"B --name "$DISCARD_LV" "$DISCARD_VG" || exit 1
}

function backup()
{
SOURCE_VG="$1"
SOURCE_LV="$2"
TARGET_VG="$BACKUPS"
TARGET_LV="$SOURCE_VG-$SOURCE_LV"
SOURCE_BASE_LV="$SOURCE_LV$BASE_SUFFIX"
TARGET_BASE_LV="$TARGET_LV$BASE_SUFFIX"
SOURCE_PEND_LV="$SOURCE_LV$PEND_SUFFIX"
TARGET_PEND_LV="$TARGET_LV$PEND_SUFFIX"
SOURCE_BASE_LV_PATH=$(read_lv_dm_path "$SOURCE_VG" "$SOURCE_BASE_LV")
SOURCE_PEND_LV_PATH=$(read_lv_dm_path "$SOURCE_VG" "$SOURCE_PEND_LV")
TARGET_BASE_LV_PATH=$(read_lv_dm_path "$TARGET_VG" "$TARGET_BASE_LV")
TARGET_PEND_LV_PATH=$(read_lv_dm_path "$TARGET_VG" "$TARGET_PEND_LV")

if [ "$SOURCE_BASE_LV_PATH" != "" ] then
echo "$SOURCE_BASE_LV_PATH found"
else
echo "Source base not found creating snapshot of $SOURCE_VG/$SOURCE_LV to $SOURCE_VG/$SOURCE_BASE_LV"
lvcreate --quiet --snapshot --name "$SOURCE_BASE_LV" "$SOURCE_VG/$SOURCE_LV" || exit 1
SOURCE_BASE_LV_PATH=$(read_lv_dm_path "$SOURCE_VG" "$SOURCE_BASE_LV")
activate_volume "$SOURCE_VG" "$SOURCE_BASE_LV"
echo "Discarding $SOURCE_BASE_LV_PATH as we need to bootstrap."
SOURCE_BASE_POOL=$(read_pool_lv $SOURCE_VG $SOURCE_BASE_LV)
SOURCE_BASE_CHUNK_SIZE=$(read_lv_chunk_size $SOURCE_VG $SOURCE_BASE_POOL)
discard_volume "$SOURCE_VG" "$SOURCE_BASE_LV"
sync
if [ "$TARGET_BASE_LV_PATH" != "" ] then
echo "$TARGET_BASE_LV_PATH found out of sync with source... removing..."
lvremove -y --quiet $TARGET_BASE_LV_PATH || exit 1
TARGET_BASE_LV_PATH=$(read_lv_dm_path "$TARGET_VG" "$TARGET_BASE_LV")
sync
fi
fi
SOURCE_BASE_SIZE=$(read_lv_size "$SOURCE_VG" "$SOURCE_BASE_LV")
if [ "$TARGET_BASE_LV_PATH" != "" ] then
echo "$TARGET_BASE_LV_PATH found"
else
echo "$TARGET_VG/$TARGET_LV not found. Creating empty volume."
lvcreate --thin-pool "$BACKUPS_POOL" -V "$SOURCE_BASE_SIZE"B --name "$TARGET_BASE_LV" "$TARGET_VG" || exit 1
echo "Have to rebootstrap. Discarding source at $SOURCE_BASE_LV_PATH"
activate_volume "$SOURCE_VG" "$SOURCE_BASE_LV"
SOURCE_BASE_POOL=$(read_pool_lv $SOURCE_VG $SOURCE_BASE_LV)
SOURCE_BASE_CHUNK_SIZE=$(read_lv_chunk_size $SOURCE_VG $SOURCE_BASE_POOL)
discard_volume "$SOURCE_VG" "$SOURCE_BASE_LV"
TARGET_BASE_POOL=$(read_pool_lv $TARGET_VG $TARGET_BASE_LV)
TARGET_BASE_CHUNK_SIZE=$(read_lv_chunk_size $TARGET_VG $TARGET_BASE_POOL)
TARGET_BASE_LV_PATH=$(read_lv_dm_path "$TARGET_VG" "$TARGET_BASE_LV")
echo "Discarding target at $TARGET_BASE_LV_PATH"
discard_volume "$TARGET_VG" "$TARGET_BASE_LV"
sync
fi
if [ "$SOURCE_PEND_LV_PATH" != "" ] then
echo "$SOURCE_PEND_LV_PATH found removing..."
lvremove -y --quiet "$SOURCE_PEND_LV_PATH" || exit 1
sync
fi
lvcreate --quiet --snapshot --name "$SOURCE_PEND_LV" "$SOURCE_VG/$SOURCE_LV" || exit 1
SOURCE_PEND_LV_PATH=$(read_lv_dm_path "$SOURCE_VG" "$SOURCE_PEND_LV")
sync
if [ "$TARGET_PEND_LV_PATH" != "" ] then
echo "$TARGET_PEND_LV_PATH found removing..."
lvremove -y --quiet $TARGET_PEND_LV_PATH
sync
fi
lvcreate --quiet --snapshot --name "$TARGET_PEND_LV" "$TARGET_VG/$TARGET_BASE_LV" || exit 1
TARGET_PEND_LV_PATH=$(read_lv_dm_path "$TARGET_VG" "$TARGET_PEND_LV")
SOURCE_PEND_LV_SIZE=$(read_lv_size "$SOURCE_VG" "$SOURCE_PEND_LV")
lvresize -L "$SOURCE_PEND_LV_SIZE"B "$TARGET_PEND_LV_PATH"
activate_volume "$TARGET_VG" "$TARGET_PEND_LV"
echo "Synching $SOURCE_PEND_LV_PATH to $TARGET_PEND_LV_PATH"
thinsync "$SOURCE_VG" "$SOURCE_PEND_LV" "$SOURCE_BASE_LV" "$TARGET_PEND_LV_PATH" || exit 1
sync

TARGET_DATE_SUFFIX=$(suffix)
lvcreate --quiet --snapshot --name "$TARGET_LV$TARGET_DATE_SUFFIX" "$TARGET_VG/$TARGET_PEND_LV" || exit 1
sync
lvremove --quiet -y "$SOURCE_BASE_LV_PATH" || exit 1
sync
lvremove --quiet -y "$TARGET_BASE_LV_PATH" || exit 1
sync
lvrename -y "$SOURCE_VG/$SOURCE_PEND_LV" "$SOURCE_BASE_LV" || exit 1
lvrename -y "$TARGET_VG/$TARGET_PEND_LV" "$TARGET_BASE_LV" || exit 1
sync
deactivate_volume "$TARGET_VG" "$TARGET_BASE_LV"
deactivate_volume "$SOURCE_VG" "$SOURCE_BASE_LV"
}

function verify()
{
SOURCE_VG="$1"
SOURCE_LV="$2"
TARGET_VG="$BACKUPS"
TARGET_LV="$SOURCE_VG-$SOURCE_LV"
SOURCE_BASE_LV="$SOURCE_LV$BASE_SUFFIX"
TARGET_BASE_LV="$TARGET_LV$BASE_SUFFIX"
TARGET_BASE_LV_PATH=$(read_lv_dm_path "$TARGET_VG" "$TARGET_BASE_LV")
SOURCE_BASE_LV_PATH=$(read_lv_dm_path "$SOURCE_VG" "$SOURCE_BASE_LV")

if [ "$SOURCE_BASE_LV_PATH" != "" ] then
echo "$SOURCE_BASE_LV_PATH found"
else
echo "$SOURCE_BASE_LV_PATH not found"
exit 1
fi
if [ "$TARGET_BASE_LV_PATH" != "" ] then
echo "$TARGET_BASE_LV_PATH found"
else
echo "$TARGET_BASE_LV_PATH not found"
exit 1
fi
activate_volume "$TARGET_VG" "$TARGET_BASE_LV"
activate_volume "$SOURCE_VG" "$SOURCE_BASE_LV"
echo Comparing "$SOURCE_BASE_LV_PATH" with "$TARGET_BASE_LV_PATH"
cmp "$SOURCE_BASE_LV_PATH" "$TARGET_BASE_LV_PATH"
echo Done...
deactivate_volume "$TARGET_VG" "$TARGET_BASE_LV"
deactivate_volume "$SOURCE_VG" "$SOURCE_BASE_LV"
}

function resync()
{
SOURCE_VG="$1"
SOURCE_LV="$2"
TARGET_VG="$BACKUPS"
TARGET_LV="$SOURCE_VG-$SOURCE_LV"
SOURCE_BASE_LV="$SOURCE_LV$BASE_SUFFIX"
TARGET_BASE_LV="$TARGET_LV$BASE_SUFFIX"
TARGET_BASE_LV_PATH=$(read_lv_dm_path "$TARGET_VG" "$TARGET_BASE_LV")
SOURCE_BASE_LV_PATH=$(read_lv_dm_path "$SOURCE_VG" "$SOURCE_BASE_LV")

if [ "$SOURCE_BASE_LV_PATH" != "" ] then
echo "$SOURCE_BASE_LV_PATH found"
else
echo "$SOURCE_BASE_LV_PATH not found"
exit 1
fi
if [ "$TARGET_BASE_LV_PATH" != "" ] then
echo "$TARGET_BASE_LV_PATH found"
else
echo "$TARGET_BASE_LV_PATH not found"
exit 1
fi
activate_volume "$TARGET_VG" "$TARGET_BASE_LV"
activate_volume "$SOURCE_VG" "$SOURCE_BASE_LV"
SOURCE_BASE_POOL=$(read_pool_lv $SOURCE_VG $SOURCE_BASE_LV)
SYNC_BLOCK_SIZE=$(read_lv_chunk_size $SOURCE_VG $SOURCE_BASE_POOL)

echo Syncronizing "$SOURCE_BASE_LV_PATH" to "$TARGET_BASE_LV_PATH"

CMP_OFFSET=0
while [[ "$CMP_OFFSET" != "" ]] ; do
CMP_MISMATCH=$(cmp -i "$CMP_OFFSET" "$SOURCE_BASE_LV_PATH" "$TARGET_BASE_LV_PATH" | grep differ | awk '{print $5}' | sed 's/,//g' )
if [[ "$CMP_MISMATCH" != "" ]] ; then
CMP_OFFSET=$(( CMP_MISMATCH + CMP_OFFSET ))
SYNC_OFFSET_BYTES=$(( ( CMP_OFFSET / SYNC_BLOCK_SIZE ) * SYNC_BLOCK_SIZE ))
SYNC_LENGTH_BYTES=$(( SYNC_BLOCK_SIZE ))
echo "Synching $SYNC_LENGTH_BYTES bytes at $SYNC_OFFSET_BYTES from $SOURCE_BASE_LV_PATH to $TARGET_BASE_LV_PATH"
ddrescue --quiet --force --input-position=$SYNC_OFFSET_BYTES --output-position=$SYNC_OFFSET_BYTES --size=$SYNC_LENGTH_BYTES "$SOURCE_BASE_LV_PATH" "$TARGET_BASE_LV_PATH"
else
CMP_OFFSET=""
fi
done
echo Done...
deactivate_volume "$TARGET_VG" "$TARGET_BASE_LV"
deactivate_volume "$SOURCE_VG" "$SOURCE_BASE_LV"
}

function list()
{
LIST_SOURCE_VG="$1"
LIST_SOURCE_LV="$2"
LIST_TARGET_VG="$BACKUPS"
LIST_TARGET_LV="$LIST_SOURCE_VG-$LIST_SOURCE_LV"
LIST_TARGET_BASE_LV="$LIST_TARGET_LV$SNAP_SUFFIX"
lvs -olv_name | grep "$LIST_TARGET_BASE_LV.$DATE_REGEX"
}

function remove()
{
REMOVE_TARGET_VG="$BACKUPS"
REMOVE_TARGET_LV="$1"
lvremove -y "$REMOVE_TARGET_VG/$REMOVE_TARGET_LV"
sync
}

function removeall()
{
DATE_OFFSET="$3"
FILTER="$(filter "$DATE_OFFSET")"
while read -r SNAPSHOT ; do
remove "$SNAPSHOT"
done < <(list "$1" "$2" | grep "$FILTER")

}

(
COMMAND="$1"
shift

case "$COMMAND" in
"--help")
echo "Help"
;;
"suffix")
suffix
;;
"filter")
filter "$1"
;;
"backup")
wait_lock_or_terminate
backup "$1" "$2"
;;
"list")
list "$1" "$2"
;;
"thindiff")
thindiff "$1" "$2" "$3"
;;
"thinsync")
thinsync "$1" "$2" "$3" "$4"
;;
"verify")
wait_lock_or_terminate
verify "$1" "$2"
;;
"resync")
wait_lock_or_terminate
resync "$1" "$2"
;;
"remove")
wait_lock_or_terminate
remove "$1"
;;
"removeall")
wait_lock_or_terminate
removeall "$1" "$2" "$3"
;;
*)
echo "None.."
;;
esac
) 98>$LOCK_FILE

EOF

เด…เดคเต†เดจเตเดคเต เดšเต†เดฏเตเดฏเตเด‚...?เดจเต‡เตผเดคเตเดค เดธเตโ€Œเดจเดพเดชเตเดชเตโ€Œเดทเต‹เดŸเตเดŸเตเด•เตพ เด•เตˆเด•เดพเดฐเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเด‚ ddrescue, blkdiscard เดŽเดจเตเดจเดฟเดต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต thin_delta เดตเดดเดฟ เดฒเดญเดฟเด•เตเด•เตเดจเตเดจ เดฐเดฃเตเดŸเต เดจเต‡เตผเดคเตเดค เดธเตโ€Œเดจเดพเดชเตเดชเตเดทเต‹เดŸเตเดŸเตเด•เตพ เดคเดฎเตเดฎเดฟเดฒเตเดณเตเดณ เดตเตเดฏเดคเตเดฏเดพเดธเด‚ เดฎเดฑเตเดฑเตŠเดฐเต เดฌเตเดฒเต‹เด•เตเด•เต เด‰เดชเด•เดฐเดฃเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดธเดฎเดจเตเดตเดฏเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดฎเตเดณเตเดณ เด’เดฐเต เด•เต‚เดŸเตเดŸเด‚ เด•เดฎเดพเตปเดกเตเด•เตพ เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.

เดžเด™เตเด™เตพ เด•เตเดฐเต‹เดฃเดฟเตฝ เด‡เดŸเตเดจเตเดจ เดฎเดฑเตเดฑเตŠเดฐเต เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต:

เด•เตเดฑเดšเตเดšเต เด•เต‚เดŸเดฟ เดฌเดพเดทเต#cat >/root/lvm-thin-backup/cron-daily.sh << EOF
#!/bin/bash
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

SCRIPT_FILE="$(realpath $0)"
SCRIPT_DIR="$(dirname $SCRIPT_FILE)"
SCRIPT_NAME="$(basename -s .sh $SCRIPT_FILE)"

BACKUP_SCRIPT="$SCRIPT_DIR/lvm-thin-backup.sh"
RETENTION="-60 days"

$BACKUP_SCRIPT backup images linux-dev
$BACKUP_SCRIPT backup images win8
$BACKUP_SCRIPT backup images win8-data
#etc

$BACKUP_SCRIPT removeall images linux-dev "$RETENTION"
$BACKUP_SCRIPT removeall images win8 "$RETENTION"
$BACKUP_SCRIPT removeall images win8-data "$RETENTION"
#etc

EOF

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

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

เดจเดฎเตเด•เตเด•เต เด…เดตเด•เดพเดถเด™เตเด™เตพ เดจเตฝเด•เดพเด‚:

#chmod +x /root/lvm-thin-backup/cron-daily.sh
#chmod +x /root/lvm-thin-backup/lvm-thin-backup.sh

เดจเดฎเตเด•เตเด•เต เด…เดคเต เดชเดฐเดฟเดถเต‹เดงเดฟเดšเตเดšเต เด•เตเดฐเต‹เดฃเดฟเตฝ เด‡เดŸเดพเด‚:

#/usr/bin/nice -n 19 /usr/bin/ionice -c 3 /root/lvm-thin-backup/cron-daily.sh 2>&1 | /usr/bin/logger -t lvm-thin-backup
#cat /var/log/syslog | grep lvm-thin-backup
#crontab -e
0 3 * * * /usr/bin/nice -n 19 /usr/bin/ionice -c 3 /root/lvm-thin-backup/cron-daily.sh 2>&1 | /usr/bin/logger -t lvm-thin-backup

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

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

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

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

#time /root/lvm-thin-backup/cron-daily.sh
real 1m2,710s
user 0m12,721s
sys 0m6,671s

#ls -al /backup/btrfs/back/remote/*
/backup/btrfs/back/remote/boot:
total 0
drwxr-xr-x 1 root root 1260 ะผะฐั€ 26 09:11 .
drwxr-xr-x 1 root root 16 ะผะฐั€ 6 09:30 ..
drwxr-xr-x 1 root root 322 ะผะฐั€ 26 02:00 .@base
drwxr-xr-x 1 root root 516 ะผะฐั€ 6 09:39 [email protected]
drwxr-xr-x 1 root root 516 ะผะฐั€ 6 09:39 [email protected]
...
/backup/btrfs/back/remote/root:
total 0
drwxr-xr-x 1 root root 2820 ะผะฐั€ 26 09:11 .
drwxr-xr-x 1 root root 16 ะผะฐั€ 6 09:30 ..
drwxr-xr-x 1 root root 240 ะผะฐั€ 26 09:11 @.@base
drwxr-xr-x 1 root root 22 ะผะฐั€ 26 09:11 @home.@base
drwxr-xr-x 1 root root 22 ะผะฐั€ 6 09:39 @[email protected]
drwxr-xr-x 1 root root 22 ะผะฐั€ 6 09:39 @[email protected]
...
drwxr-xr-x 1 root root 240 ะผะฐั€ 6 09:39 @[email protected]
drwxr-xr-x 1 root root 240 ะผะฐั€ 6 09:39 @[email protected]
...

#lvs -olv_name,lv_size images && lvs -olv_name,lv_size backup
LV LSize
linux-dev 128,00g
linux-dev.base 128,00g
thin-pool 1,38t
win8 128,00g
win8-data 2,00t
win8-data.base 2,00t
win8.base 128,00g
LV LSize
backup 256,00g
images-linux-dev.base 128,00g
images-linux-dev.snap.2020-03-08-10-09-11 128,00g
images-linux-dev.snap.2020-03-08-10-09-25 128,00g
...
images-win8-data.base 2,00t
images-win8-data.snap.2020-03-16-14-11-55 2,00t
images-win8-data.snap.2020-03-16-14-19-50 2,00t
...
images-win8.base 128,00g
images-win8.snap.2020-03-17-04-51-46 128,00g
images-win8.snap.2020-03-18-03-02-49 128,00g
...
thin-pool <2,09t

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

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

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

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

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

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•