แƒ แƒ แƒกแƒแƒ”แƒ แƒ—แƒ แƒแƒฅแƒ•แƒ— LVM-แƒก แƒ“แƒ แƒ›แƒแƒขแƒ แƒ˜แƒแƒจแƒ™แƒแƒก?

แƒ™แƒแƒ แƒ’แƒ˜ แƒ“แƒฆแƒ”.
แƒ›แƒกแƒฃแƒ แƒก แƒกแƒแƒ–แƒแƒ’แƒแƒ“แƒแƒ”แƒ‘แƒแƒก แƒ’แƒแƒ•แƒฃแƒ–แƒ˜แƒแƒ แƒ แƒฉแƒ”แƒ›แƒ˜ แƒžแƒ แƒแƒฅแƒขแƒ˜แƒ™แƒฃแƒšแƒ˜ แƒ’แƒแƒ›แƒแƒชแƒ“แƒ˜แƒšแƒ”แƒ‘แƒ KVM-แƒกแƒ—แƒ•แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ˜แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ md RAID + LVM แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—.

แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ แƒ›แƒแƒ˜แƒชแƒแƒ•แƒก:

  • Build md RAID 1 NVMe SSD-แƒ“แƒแƒœ.
  • md RAID 6-แƒ˜แƒก แƒแƒฌแƒงแƒแƒ‘แƒ SATA SSD-แƒ“แƒแƒœ แƒ“แƒ แƒฉแƒ•แƒ”แƒฃแƒšแƒ”แƒ‘แƒ แƒ˜แƒ•แƒ˜ แƒ“แƒ˜แƒกแƒ™แƒ”แƒ‘แƒ˜แƒ“แƒแƒœ.
  • TRIM/DISCARD แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒแƒฎแƒแƒกแƒ˜แƒแƒ—แƒ”แƒ‘แƒšแƒ”แƒ‘แƒ˜ SSD RAID 1/6-แƒ–แƒ”.
  • แƒฉแƒแƒ›แƒขแƒ•แƒ˜แƒ แƒ—แƒแƒ•แƒ˜ md RAID 1/6 แƒ›แƒแƒกแƒ˜แƒ•แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ แƒ“แƒ˜แƒกแƒ™แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒ”แƒ แƒ—แƒ แƒ™แƒแƒ›แƒžแƒšแƒ”แƒฅแƒขแƒ–แƒ”.
  • แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ NVMe RAID 1-แƒ–แƒ”, แƒ แƒแƒ“แƒ”แƒกแƒแƒช BIOS-แƒจแƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก NVMe แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ.
  • LVM แƒฅแƒ”แƒจแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒ“แƒ LVM แƒ—แƒฎแƒ”แƒšแƒ˜.
  • แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ— BTRFS แƒกแƒœแƒ”แƒžแƒจแƒแƒขแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ’แƒแƒ’แƒ–แƒแƒ•แƒœแƒ”แƒ—/แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ— แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.
  • LVM แƒ—แƒฎแƒ”แƒšแƒ˜ แƒกแƒœแƒ”แƒžแƒจแƒแƒขแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ thin_delta-แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ BTRFS แƒกแƒขแƒ˜แƒšแƒ˜แƒก แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒ—แƒฃ แƒ’แƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ”แƒ‘แƒ—, แƒœแƒแƒฎแƒ”แƒ— แƒ™แƒแƒขแƒ.

แƒ’แƒแƒœแƒชแƒฎแƒแƒ“แƒ”แƒ‘แƒ

แƒแƒ•แƒขแƒแƒ แƒ˜ แƒแƒ  แƒแƒ’แƒ”แƒ‘แƒก แƒžแƒแƒกแƒฃแƒฎแƒก แƒแƒ› แƒกแƒขแƒแƒขแƒ˜แƒ˜แƒ“แƒแƒœ แƒ›แƒแƒกแƒแƒšแƒ”แƒ‘แƒ˜แƒก/แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒ”แƒ‘แƒ˜แƒก/แƒ™แƒแƒ“แƒ”แƒ‘แƒ˜แƒก/แƒ แƒฉแƒ”แƒ•แƒ”แƒ‘แƒ˜แƒก/แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒแƒœ แƒ’แƒแƒ›แƒแƒฃแƒงแƒ”แƒœแƒ”แƒ‘แƒšแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒ“แƒ”แƒ’แƒ”แƒ‘แƒ–แƒ”. แƒแƒ› แƒ›แƒแƒกแƒแƒšแƒ˜แƒก แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒกแƒแƒฎแƒ˜แƒ— แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ˜แƒ— แƒแƒœ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒ—แƒฅแƒ•แƒ”แƒœ แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒžแƒแƒกแƒฃแƒฎแƒ˜แƒกแƒ›แƒ’แƒ”แƒ‘แƒšแƒแƒ‘แƒแƒก แƒแƒ› แƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒ แƒจแƒ”แƒ“แƒ”แƒ’แƒ”แƒ‘แƒ–แƒ”. แƒจแƒ”แƒกแƒแƒซแƒšแƒ แƒจแƒ”แƒ“แƒ”แƒ’แƒ”แƒ‘แƒ˜ แƒ›แƒแƒ˜แƒชแƒแƒ•แƒก:

  • แƒจแƒ”แƒ›แƒฌแƒ•แƒแƒ แƒ˜ NVMe SSD-แƒ”แƒ‘แƒ˜.
  • แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒแƒ“ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฉแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ˜ แƒ“แƒ SSD แƒ“แƒ˜แƒกแƒ™แƒ”แƒ‘แƒ˜แƒก แƒฌแƒแƒ แƒฃแƒ›แƒแƒขแƒ”แƒ‘แƒšแƒแƒ‘แƒ.
  • แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ˜แƒก แƒกแƒ แƒฃแƒšแƒ˜ แƒ“แƒแƒ™แƒแƒ แƒ’แƒ•แƒ แƒงแƒ•แƒ”แƒšแƒ แƒ“แƒ˜แƒกแƒ™แƒ–แƒ”, แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒ—แƒ•แƒšแƒ˜แƒ—.
  • แƒ’แƒแƒฃแƒ›แƒแƒ แƒ—แƒแƒ•แƒ˜ แƒ™แƒแƒ›แƒžแƒ˜แƒฃแƒขแƒ”แƒ แƒฃแƒšแƒ˜ แƒขแƒ”แƒฅแƒœแƒ˜แƒ™แƒ.
  • แƒ“แƒแƒ™แƒแƒ แƒ’แƒฃแƒšแƒ˜ แƒ“แƒ แƒ, แƒœแƒ”แƒ แƒ•แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒคแƒฃแƒšแƒ˜.
  • แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒกแƒฎแƒ•แƒ แƒจแƒ”แƒ“แƒ”แƒ’แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ  แƒแƒ แƒ˜แƒก แƒฉแƒแƒ›แƒแƒ—แƒ•แƒšแƒ˜แƒšแƒ˜ แƒ–แƒ”แƒ›แƒแƒ—.

แƒ แƒ™แƒ˜แƒœแƒ˜แƒก

แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜ แƒ˜แƒงแƒ:

แƒ“แƒ”แƒ“แƒแƒžแƒšแƒแƒขแƒ แƒ“แƒแƒแƒฎแƒšแƒแƒ”แƒ‘แƒ˜แƒ— 2013 แƒฌแƒšแƒ˜แƒ“แƒแƒœ Z87 แƒฉแƒ˜แƒžแƒกแƒ”แƒขแƒ˜แƒ—, แƒ“แƒแƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ Intel Core i7 / Haswell-แƒ˜แƒ—.

  • แƒžแƒ แƒแƒชแƒ”แƒกแƒแƒ แƒ˜ 4 แƒ‘แƒ˜แƒ แƒ—แƒ•แƒ˜, 8 แƒซแƒแƒคแƒ˜
  • 32 GB 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 แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜. RAID-แƒ–แƒ” แƒฉแƒแƒ แƒ—แƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ แƒ’แƒแƒœแƒ–แƒ แƒแƒฎ แƒจแƒ”แƒ˜แƒชแƒ•แƒแƒšแƒ HBA แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ˜แƒ—, แƒ แƒแƒ—แƒ:

  1. แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ  แƒ“แƒ แƒแƒก แƒ’แƒแƒ“แƒแƒแƒ’แƒ“แƒแƒ— แƒ”แƒก แƒแƒ“แƒแƒžแƒขแƒ”แƒ แƒ˜ แƒ“แƒ แƒจแƒ”แƒชแƒ•แƒแƒšแƒแƒ— แƒ˜แƒ’แƒ˜ แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒกแƒฎแƒ•แƒ แƒแƒ“แƒแƒžแƒขแƒ”แƒ แƒ˜แƒ—, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ’แƒฎแƒ•แƒ“แƒ”แƒ‘แƒแƒ—.
  2. TRIM/Discard แƒฉแƒ•แƒ”แƒฃแƒšแƒ”แƒ‘แƒ แƒ˜แƒ• แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ“แƒ แƒ“แƒ˜แƒกแƒ™แƒ”แƒ‘แƒ–แƒ”, แƒ แƒแƒ“แƒ’แƒแƒœ... RAID firmware-แƒจแƒ˜ แƒ”แƒก แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒกแƒแƒ”แƒ แƒ—แƒแƒ“ แƒแƒ  แƒแƒ แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒšแƒ˜ แƒ“แƒ HBA-แƒก, แƒ–แƒแƒ’แƒแƒ“แƒแƒ“, แƒแƒ  แƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ”แƒ‘แƒก แƒ แƒ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒ’แƒแƒ“แƒแƒ”แƒชแƒ”แƒ›แƒ แƒแƒ•แƒขแƒแƒ‘แƒฃแƒกแƒก.

แƒ›แƒงแƒแƒ แƒ˜ แƒ“แƒ˜แƒกแƒ™แƒ”แƒ‘แƒ˜ - 8 แƒชแƒแƒšแƒ˜ HGST Travelstar 7K1000 1 แƒขแƒ‘ แƒขแƒ”แƒ•แƒแƒ“แƒแƒ‘แƒ˜แƒ— 2.5 แƒคแƒแƒ แƒ›แƒแƒขแƒจแƒ˜, แƒ แƒแƒช แƒจแƒ”แƒ”แƒฎแƒ”แƒ‘แƒ แƒšแƒ”แƒžแƒขแƒแƒžแƒ”แƒ‘แƒก. แƒ”แƒก แƒ“แƒ˜แƒกแƒ™แƒ”แƒ‘แƒ˜ แƒแƒ“แƒ แƒ” แƒ˜แƒงแƒ RAID 6 แƒ›แƒแƒกแƒ˜แƒ•แƒจแƒ˜. แƒ›แƒแƒ— แƒแƒกแƒ”แƒ•แƒ” แƒ”แƒฅแƒœแƒ”แƒ‘แƒแƒ— แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒแƒฎแƒแƒš แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒจแƒ˜. แƒแƒ“แƒ’แƒ˜แƒšแƒแƒ‘แƒ แƒ˜แƒ•แƒ˜ แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒœแƒแƒฎแƒแƒ“.

แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ— แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ:

6 แƒชแƒแƒšแƒ˜ SATA SSD แƒ›แƒแƒ“แƒ”แƒšแƒ˜ Samsung 860 QVO 2TB. แƒ”แƒก SSD-แƒ”แƒ‘แƒ˜ แƒ›แƒแƒ˜แƒ—แƒฎแƒแƒ•แƒ“แƒœแƒ”แƒœ แƒ“แƒ˜แƒ“ แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒแƒก, แƒกแƒแƒกแƒฃแƒ แƒ•แƒ”แƒšแƒ˜ แƒ˜แƒงแƒ SLC แƒฅแƒ”แƒจแƒ˜แƒก แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒ, แƒกแƒแƒ˜แƒ›แƒ”แƒ“แƒแƒแƒ‘แƒ แƒ“แƒ แƒ“แƒแƒ‘แƒแƒšแƒ˜ แƒคแƒแƒกแƒ˜. แƒกแƒแƒญแƒ˜แƒ แƒ แƒ˜แƒงแƒ แƒ’แƒแƒฃแƒฅแƒ›แƒ”แƒ‘แƒ˜แƒก/แƒœแƒฃแƒšแƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒแƒฌแƒ›แƒ“แƒ”แƒ‘แƒ dmesg-แƒ˜แƒก แƒฎแƒแƒ–แƒ˜แƒ—:

kernel: ata1.00: Enabling discard_zeroes_data

2 แƒชแƒแƒšแƒ˜ NVMe SSD แƒ›แƒแƒ“แƒ”แƒšแƒ˜ Samsung SSD 970 EVO 500GB.

แƒแƒ› SSD-แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜แƒ แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒ˜แƒก/แƒฉแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ˜แƒ—แƒ˜ แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ” แƒ“แƒ แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ˜แƒก แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ แƒแƒ“แƒ˜แƒแƒขแƒแƒ แƒ˜ แƒ›แƒแƒ—แƒ—แƒ•แƒ˜แƒก. แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒšแƒแƒ“. แƒแƒ‘แƒกแƒแƒšแƒฃแƒขแƒฃแƒ แƒแƒ“. แƒฌแƒ˜แƒœแƒแƒแƒฆแƒ›แƒ“แƒ”แƒ’ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒจแƒ”แƒฌแƒ•แƒ˜แƒ— แƒ˜แƒกแƒ˜แƒœแƒ˜ RAID-แƒ˜แƒก แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒ“แƒ แƒแƒก, แƒกแƒแƒœแƒแƒ› แƒแƒ  แƒ’แƒแƒฎแƒ“แƒ”แƒ‘แƒ แƒฎแƒ แƒแƒจแƒฃแƒœแƒ.

StarTech PEX8M2E2 แƒแƒ“แƒแƒžแƒขแƒ”แƒ แƒ˜ 2 x NVMe SSD-แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ PCIe 3.0 8x แƒกแƒšแƒแƒขแƒจแƒ˜. แƒ”แƒก, แƒ˜แƒกแƒ”แƒ• แƒ“แƒ แƒ˜แƒกแƒ”แƒ•, แƒแƒ แƒ˜แƒก แƒ›แƒฎแƒแƒšแƒแƒ“ HBA, แƒ›แƒแƒ’แƒ แƒแƒ› NVMe-แƒกแƒ—แƒ•แƒ˜แƒก. แƒ˜แƒก แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ“แƒ”แƒ‘แƒ แƒ˜แƒแƒคแƒ˜ แƒแƒ“แƒแƒžแƒขแƒ”แƒ แƒ”แƒ‘แƒ˜แƒกแƒ’แƒแƒœ แƒ˜แƒ›แƒ˜แƒ—, แƒ แƒแƒ› แƒแƒ  แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒก PCIe แƒ‘แƒ˜แƒคแƒฃแƒ แƒ™แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒแƒก แƒ“แƒ”แƒ“แƒแƒžแƒšแƒแƒขแƒ˜แƒกแƒ’แƒแƒœ, แƒฉแƒแƒจแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ PCIe แƒ’แƒแƒ“แƒแƒ›แƒ แƒ—แƒ•แƒ”แƒšแƒ˜แƒก แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒ. แƒ˜แƒก แƒ˜แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒก แƒฃแƒซแƒ•แƒ”แƒšแƒ”แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒจแƒ˜แƒช แƒ™แƒ˜ PCIe-แƒ˜แƒ—, แƒ—แƒฃแƒœแƒ“แƒแƒช แƒ˜แƒก แƒ˜แƒงแƒแƒก x1 PCIe 1.0 แƒกแƒšแƒแƒขแƒ˜. แƒ‘แƒฃแƒœแƒ”แƒ‘แƒ แƒ˜แƒ•แƒ˜แƒ, แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒ˜ แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ˜แƒ—. แƒ˜แƒฅ แƒแƒ  แƒแƒ แƒ˜แƒก RAID-แƒ”แƒ‘แƒ˜. แƒ‘แƒแƒ แƒขแƒ–แƒ” แƒแƒ  แƒแƒ แƒ˜แƒก แƒฉแƒแƒจแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ BIOS. แƒแƒกแƒ” แƒ แƒแƒ›, แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ แƒฏแƒแƒ“แƒแƒกแƒœแƒฃแƒ แƒแƒ“ แƒแƒ  แƒ˜แƒกแƒฌแƒแƒ•แƒšแƒ˜แƒก NVMe-แƒ˜แƒ— แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒแƒก, แƒ›แƒ˜แƒ— แƒฃแƒ›แƒ”แƒขแƒ”แƒก, แƒ แƒแƒ› NVMe RAID แƒแƒ› แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ˜แƒก แƒฌแƒงแƒแƒšแƒแƒ‘แƒ˜แƒ—.

แƒ”แƒก แƒ™แƒแƒ›แƒžแƒแƒœแƒ”แƒœแƒขแƒ˜ แƒ’แƒแƒœแƒžแƒ˜แƒ แƒแƒ‘แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒงแƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ”แƒ แƒ—แƒ˜ แƒฃแƒคแƒแƒกแƒ 8x PCIe 3.0 แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒจแƒ˜ แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒ˜แƒ— แƒ“แƒ, แƒ—แƒฃ แƒแƒ แƒ˜แƒก 2 แƒฃแƒคแƒแƒกแƒ แƒกแƒšแƒแƒขแƒ˜, แƒ›แƒ˜แƒกแƒ˜ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒแƒ“ แƒจแƒ”แƒชแƒ•แƒšแƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒแƒ แƒ˜ แƒžแƒ”แƒœแƒ˜ PEX4M2E1-แƒ˜แƒ— แƒแƒœ แƒแƒœแƒแƒšแƒแƒ’แƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒ›แƒ”แƒšแƒ—แƒ แƒงแƒ˜แƒ“แƒ•แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒกแƒแƒ“แƒ›แƒ” 600 แƒคแƒแƒกแƒ˜แƒ—. แƒ แƒฃแƒ‘แƒšแƒ˜.

แƒงแƒ•แƒ”แƒšแƒ แƒกแƒแƒฎแƒ˜แƒก แƒขแƒ”แƒฅแƒœแƒ˜แƒ™แƒ˜แƒก แƒแƒœ แƒฉแƒแƒจแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฉแƒ˜แƒžแƒกแƒ”แƒขแƒ˜แƒก/BIOS RAID-แƒ˜แƒก แƒฃแƒแƒ แƒงแƒแƒคแƒ แƒ’แƒแƒœแƒ–แƒ แƒแƒฎ แƒ’แƒแƒ™แƒ”แƒ—แƒ“แƒ, แƒ แƒแƒ—แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒงแƒแƒคแƒ˜แƒšแƒ˜แƒงแƒ แƒ›แƒ—แƒ”แƒšแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒแƒ“ แƒฉแƒแƒœแƒแƒชแƒ•แƒšแƒ”แƒ‘แƒ, แƒ’แƒแƒ แƒ“แƒ แƒ—แƒแƒ•แƒแƒ“ SSD/HDD-แƒ˜แƒกแƒ, แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ˜แƒก แƒจแƒ”แƒœแƒแƒ แƒฉแƒฃแƒœแƒ”แƒ‘แƒ˜แƒ—. แƒ˜แƒ“แƒ”แƒแƒšแƒฃแƒ  แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ แƒแƒ—แƒ แƒ“แƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒฃแƒšแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒช แƒ™แƒ˜ แƒจแƒ”แƒ˜แƒœแƒแƒฎแƒแƒ— แƒกแƒ แƒฃแƒšแƒ˜แƒแƒ“ แƒแƒฎแƒแƒš/แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒฃแƒš แƒแƒžแƒแƒ แƒแƒขแƒ–แƒ” แƒ’แƒแƒ“แƒแƒกแƒ•แƒšแƒ˜แƒกแƒแƒก. แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜ แƒ˜แƒก แƒแƒ แƒ˜แƒก, แƒ แƒแƒ› แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก SATA แƒ“แƒ PCIe แƒžแƒแƒ แƒขแƒ”แƒ‘แƒ˜. แƒ”แƒก แƒแƒ แƒ˜แƒก แƒชแƒแƒชแƒฎแƒแƒšแƒ˜ CD แƒแƒœ แƒฉแƒแƒ›แƒขแƒ•แƒ˜แƒ แƒ—แƒแƒ•แƒ˜ แƒคแƒšแƒ”แƒจ แƒ“แƒ แƒแƒ˜แƒ•แƒ˜, แƒ›แƒฎแƒแƒšแƒแƒ“ แƒซแƒแƒšแƒ˜แƒแƒœ แƒกแƒฌแƒ แƒแƒคแƒ˜ แƒ“แƒ แƒชแƒแƒขแƒ แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ˜แƒ—แƒ˜.

แƒ˜แƒฃแƒ›แƒแƒ แƒ˜แƒฌแƒ˜แƒœแƒแƒแƒฆแƒ›แƒ“แƒ”แƒ’ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ—แƒฅแƒ•แƒ”แƒœ แƒ˜แƒชแƒ˜แƒ—, แƒ แƒ แƒฎแƒ“แƒ”แƒ‘แƒ - แƒ–แƒแƒ’แƒฏแƒ”แƒ  แƒกแƒแƒกแƒฌแƒ แƒแƒคแƒแƒ“ แƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ— แƒ—แƒแƒœ แƒฌแƒแƒ˜แƒฆแƒแƒ— แƒ›แƒ—แƒ”แƒšแƒ˜ แƒ›แƒแƒกแƒ˜แƒ•แƒ˜, แƒ แƒแƒ› แƒฌแƒแƒ˜แƒฆแƒแƒ—. แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒ  แƒ›แƒ˜แƒœแƒ“แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ™แƒแƒ แƒ’แƒ•แƒ. แƒแƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒ แƒแƒฆแƒœแƒ˜แƒจแƒœแƒฃแƒšแƒ˜ แƒ›แƒ”แƒ“แƒ˜แƒ แƒ›แƒแƒฎแƒ”แƒ แƒฎแƒ”แƒ‘แƒฃแƒšแƒแƒ“ แƒแƒ แƒ˜แƒก แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒšแƒแƒ˜แƒ“แƒ”แƒ‘แƒ–แƒ” แƒกแƒขแƒแƒœแƒ“แƒแƒ แƒขแƒฃแƒšแƒ˜ แƒ™แƒแƒ แƒžแƒฃแƒกแƒ˜แƒก 5.25 แƒ–แƒแƒšแƒจแƒ˜.

แƒ™แƒแƒ แƒ’แƒแƒ“, แƒ“แƒ, แƒ แƒ แƒ—แƒฅแƒ›แƒ แƒฃแƒœแƒ“แƒ, Linux-แƒจแƒ˜ SSD แƒฅแƒ”แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒ›แƒ”แƒ—แƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒ”แƒฅแƒกแƒžแƒ”แƒ แƒ˜แƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒขแƒ”แƒฅแƒœแƒ˜แƒ™แƒ˜แƒก แƒ แƒ”แƒ˜แƒ“แƒ”แƒ‘แƒ˜ แƒ›แƒแƒกแƒแƒฌแƒงแƒ”แƒœแƒ˜แƒ. แƒฉแƒแƒ แƒ—แƒ”แƒ— แƒ˜แƒ’แƒ˜. แƒแƒœ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒแƒœ แƒแƒ แƒ. แƒ“แƒ mdadm-แƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“ แƒงแƒแƒ•แƒ”แƒšแƒ—แƒ•แƒ˜แƒก แƒแƒ แƒ˜แƒก แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ”แƒ‘แƒ˜.

แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ

แƒแƒ“แƒ แƒ”, Debian 8 Jessie แƒ“แƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒงแƒ แƒแƒžแƒแƒ แƒแƒขแƒฃแƒ แƒแƒ–แƒ”, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒฎแƒšแƒแƒกแƒแƒ EOL-แƒ—แƒแƒœ. RAID 6 แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒ˜ แƒ˜แƒงแƒ แƒ–แƒ”แƒ›แƒแƒ— แƒแƒฆแƒœแƒ˜แƒจแƒœแƒฃแƒšแƒ˜ HDD-แƒ”แƒ‘แƒ˜แƒ“แƒแƒœ, แƒ“แƒแƒฌแƒงแƒ•แƒ˜แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ LVM-แƒ˜แƒ—. แƒ˜แƒก แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ“แƒ แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ  แƒ›แƒแƒœแƒฅแƒแƒœแƒ”แƒ‘แƒ–แƒ” kvm/libvirt-แƒจแƒ˜.

แƒ˜แƒ›แƒ˜แƒขแƒแƒ› แƒ แƒแƒ› แƒแƒ•แƒขแƒแƒ แƒก แƒแƒฅแƒ•แƒก แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒ˜ แƒ’แƒแƒ›แƒแƒชแƒ“แƒ˜แƒšแƒ”แƒ‘แƒ แƒžแƒแƒ แƒขแƒแƒขแƒฃแƒšแƒ˜ แƒฉแƒแƒ›แƒขแƒ•แƒ˜แƒ แƒ—แƒแƒ•แƒ˜ SATA/NVMe แƒคแƒšแƒ”แƒจ แƒ“แƒ แƒแƒ˜แƒ•แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒก แƒกแƒแƒฅแƒ›แƒ”แƒจแƒ˜ แƒ“แƒ แƒแƒกแƒ”แƒ•แƒ”, แƒ˜แƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ› แƒแƒ  แƒ“แƒแƒ˜แƒ แƒฆแƒ•แƒ”แƒก แƒฉแƒ•แƒ”แƒฃแƒšแƒ˜ แƒจแƒ”แƒกแƒแƒคแƒ”แƒ แƒ˜แƒกแƒ˜ แƒจแƒแƒ‘แƒšแƒแƒœแƒ˜, แƒกแƒแƒ›แƒ˜แƒ–แƒœแƒ” แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒ“ แƒแƒ˜แƒ แƒฉแƒ˜แƒ”แƒก Ubuntu 18.04, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฃแƒ™แƒ•แƒ” แƒกแƒแƒ™แƒ›แƒแƒ แƒ˜แƒกแƒแƒ“ แƒกแƒขแƒแƒ‘แƒ˜แƒšแƒ˜แƒ–แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒฏแƒ”แƒ  แƒ™แƒ˜แƒ“แƒ”แƒ• แƒแƒฅแƒ•แƒก 3 แƒฌแƒ”แƒšแƒ˜. แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ แƒ›แƒแƒ›แƒแƒ•แƒแƒšแƒจแƒ˜.

แƒแƒฆแƒœแƒ˜แƒจแƒœแƒฃแƒšแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก แƒงแƒ•แƒ”แƒšแƒ แƒขแƒ”แƒฅแƒœแƒ˜แƒ™แƒ˜แƒก แƒ“แƒ แƒแƒ˜แƒ•แƒ”แƒ แƒก, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ out of box. แƒฉแƒ•แƒ”แƒœ แƒแƒ  แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ›แƒ”แƒกแƒแƒ›แƒ” แƒ›แƒฎแƒแƒ แƒ˜แƒก แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ แƒแƒœ แƒ“แƒ แƒแƒ˜แƒ•แƒ”แƒ แƒ”แƒ‘แƒ˜.

แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ”แƒ›แƒ–แƒแƒ“แƒ”แƒ‘แƒ

แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ“แƒแƒกแƒแƒงแƒ”แƒœแƒ”แƒ‘แƒšแƒแƒ“ แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ Ubuntu Desktop Image. แƒกแƒ”แƒ แƒ•แƒ”แƒ แƒ˜แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒก แƒแƒฅแƒ•แƒก แƒ”แƒ แƒ—แƒ’แƒ•แƒแƒ แƒ˜ แƒ”แƒœแƒ”แƒ แƒ’แƒ˜แƒฃแƒšแƒ˜ แƒ˜แƒœแƒกแƒขแƒแƒšแƒ”แƒ แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒก แƒ–แƒ”แƒ“แƒ›แƒ”แƒข แƒ“แƒแƒ›แƒแƒฃแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒšแƒแƒ‘แƒแƒก, แƒ แƒแƒ›แƒšแƒ˜แƒก แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ แƒจแƒ”แƒฃแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ UEFI แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ“แƒแƒœแƒแƒงแƒแƒคแƒ˜แƒก แƒ”แƒ แƒ—-แƒ”แƒ แƒ— แƒ“แƒ˜แƒกแƒ™แƒ–แƒ” แƒ’แƒแƒ“แƒแƒขแƒแƒœแƒ˜แƒ—, แƒ แƒแƒช แƒแƒคแƒฃแƒญแƒ”แƒ‘แƒก แƒ›แƒ—แƒ”แƒš แƒกแƒ˜แƒšแƒแƒ›แƒแƒ–แƒ”แƒก. แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒแƒ“, แƒ˜แƒก แƒ“แƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ UEFI แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜. แƒแƒ  แƒ’แƒ•แƒ—แƒแƒ•แƒแƒ–แƒแƒ‘แƒก แƒ แƒแƒ˜แƒ›แƒ” แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒก.

แƒฉแƒ•แƒ”แƒœ แƒแƒ  แƒ•แƒแƒ แƒ— แƒ™แƒ›แƒแƒงแƒแƒคแƒ˜แƒšแƒ˜ แƒแƒ›แƒ˜แƒ—.

แƒ แƒแƒขแƒแƒ›?แƒกแƒแƒ›แƒฌแƒฃแƒฎแƒแƒ แƒแƒ“, UEFI แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ แƒฃแƒ™แƒ˜แƒ“แƒฃแƒ แƒ”แƒกแƒแƒ“ แƒชแƒฃแƒ“แƒแƒ“ แƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒแƒ“แƒ˜แƒ แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒš RAID-แƒ—แƒแƒœ, แƒ แƒแƒ“แƒ’แƒแƒœ... แƒแƒ แƒแƒ•แƒ˜แƒœ แƒ’แƒ•แƒ—แƒแƒ•แƒแƒ–แƒแƒ‘แƒก แƒ“แƒแƒฏแƒแƒ•แƒจแƒœแƒแƒก UEFI ESP แƒ“แƒแƒœแƒแƒงแƒแƒคแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ˜แƒœแƒขแƒ”แƒ แƒœแƒ”แƒขแƒจแƒ˜ แƒแƒ แƒ˜แƒก แƒ แƒ”แƒชแƒ”แƒžแƒขแƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ’แƒ•แƒ—แƒแƒ•แƒแƒ–แƒแƒ‘แƒ”แƒœ ESP แƒ“แƒแƒœแƒแƒงแƒแƒคแƒ˜แƒก แƒคแƒšแƒ”แƒจ แƒ“แƒ แƒแƒ˜แƒ•แƒ–แƒ” USB แƒžแƒแƒ แƒขแƒ˜แƒก แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒแƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ”แƒก แƒแƒ แƒ˜แƒก แƒฌแƒแƒ แƒฃแƒ›แƒแƒขแƒ”แƒ‘แƒšแƒแƒ‘แƒ˜แƒก แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ˜. แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก แƒ แƒ”แƒชแƒ”แƒžแƒขแƒ”แƒ‘แƒ˜ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ˜แƒก mdadm RAID 1-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— แƒ›แƒ”แƒขแƒแƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก 0.9 แƒ•แƒ”แƒ แƒกแƒ˜แƒ˜แƒ—, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒฎแƒ”แƒšแƒก แƒแƒ  แƒฃแƒจแƒšแƒ˜แƒก UEFI BIOS-แƒก แƒแƒ› แƒ“แƒแƒœแƒแƒงแƒแƒคแƒ˜แƒก แƒœแƒแƒฎแƒ•แƒแƒจแƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ”แƒก แƒ’แƒ แƒซแƒ”แƒšแƒ“แƒ”แƒ‘แƒ แƒ˜แƒ› แƒ‘แƒ”แƒ“แƒœแƒ˜แƒ”แƒ  แƒ›แƒแƒ›แƒ”แƒœแƒขแƒแƒ›แƒ“แƒ”, แƒ แƒแƒ“แƒ”แƒกแƒแƒช BIOS แƒแƒœ แƒกแƒฎแƒ•แƒ แƒแƒžแƒแƒ แƒแƒขแƒฃแƒ แƒ˜แƒก OS แƒฌแƒ”แƒ แƒก แƒ แƒแƒฆแƒแƒชแƒแƒก ESP-แƒ–แƒ” แƒ“แƒ แƒแƒ•แƒ˜แƒฌแƒงแƒ“แƒ”แƒ‘แƒ แƒ›แƒ˜แƒก แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒแƒก แƒกแƒฎแƒ•แƒแƒกแƒ—แƒแƒœ. แƒกแƒแƒ แƒ™แƒ”แƒ”แƒ‘แƒ˜.

แƒ’แƒแƒ แƒ“แƒ แƒแƒ›แƒ˜แƒกแƒ, UEFI แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ แƒ“แƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ NVRAM-แƒ–แƒ”, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ  แƒ’แƒแƒ“แƒแƒ•แƒ แƒ“แƒ˜แƒกแƒ™แƒ”แƒ‘แƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“ แƒแƒฎแƒแƒš แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒจแƒ˜, แƒ แƒแƒ“แƒ’แƒแƒœ แƒแƒ แƒ˜แƒก แƒ“แƒ”แƒ“แƒแƒžแƒšแƒแƒขแƒ˜แƒก แƒœแƒแƒฌแƒ˜แƒšแƒ˜.

แƒแƒกแƒ” แƒ แƒแƒ›, แƒฉแƒ•แƒ”แƒœ แƒแƒ  แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒ’แƒแƒœแƒ”แƒ‘แƒ— แƒแƒฎแƒแƒš แƒ‘แƒแƒ แƒ‘แƒแƒšแƒก. แƒฉแƒ•แƒ”แƒœ แƒฃแƒ™แƒ•แƒ” แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒ›แƒ–แƒ, แƒ“แƒ แƒแƒจแƒ˜ แƒ’แƒแƒ›แƒแƒชแƒ“แƒ˜แƒšแƒ˜ แƒ‘แƒแƒ‘แƒฃแƒ˜แƒก แƒ•แƒ”แƒšแƒแƒกแƒ˜แƒžแƒ”แƒ“แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒแƒฎแƒšแƒ Legacy/BIOS-แƒ˜แƒก แƒฉแƒ”แƒฅแƒ›แƒ แƒฐแƒฅแƒ•แƒ˜แƒ, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช UEFI-แƒ—แƒแƒœ แƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒแƒ“แƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ”แƒ‘แƒ–แƒ” CSM แƒแƒ›แƒแƒงแƒ˜ แƒกแƒแƒฎแƒ”แƒšแƒ˜ แƒแƒฅแƒ•แƒก. แƒฉแƒ•แƒ”แƒœ แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒแƒ›แƒแƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒ—แƒแƒ แƒแƒ“แƒแƒœ, แƒจแƒ”แƒ–แƒ”แƒ—แƒ•แƒแƒก, แƒกแƒแƒ‘แƒฃแƒ แƒแƒ•แƒ”แƒ‘แƒก แƒแƒ›แƒแƒขแƒฃแƒ›แƒ‘แƒ•แƒ˜แƒ— แƒ“แƒ แƒœแƒ”แƒกแƒขแƒ˜แƒแƒœแƒ˜ แƒฅแƒกแƒแƒ•แƒ˜แƒšแƒ˜แƒ— แƒ’แƒแƒ•แƒฌแƒ›แƒ”แƒœแƒ“แƒ—.

Ubuntu-แƒก แƒ“แƒ”แƒกแƒ™แƒขแƒแƒžแƒ˜แƒก แƒ•แƒ”แƒ แƒกแƒ˜แƒ แƒแƒกแƒ”แƒ•แƒ” แƒแƒ  แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒกแƒฌแƒแƒ แƒแƒ“ แƒ“แƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ“แƒ”แƒก Legacy bootloader-แƒ˜แƒ—, แƒ›แƒแƒ’แƒ แƒแƒ› แƒแƒฅ, แƒ แƒแƒ’แƒแƒ แƒช แƒแƒ›แƒ‘แƒแƒ‘แƒ”แƒœ, แƒ›แƒแƒ˜แƒœแƒช แƒแƒ แƒ˜แƒก แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ”แƒ‘แƒ˜.

แƒแƒกแƒ” แƒ แƒแƒ›, แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒ’แƒ แƒแƒ•แƒ”แƒ‘แƒ— แƒแƒžแƒแƒ แƒแƒขแƒฃแƒ แƒแƒก แƒ“แƒ แƒ•แƒขแƒ•แƒ˜แƒ แƒ—แƒแƒ•แƒ— แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒก Ubuntu Live แƒฉแƒแƒ›แƒขแƒ•แƒ˜แƒ แƒ—แƒแƒ•แƒ˜ แƒคแƒšแƒ”แƒจ แƒ“แƒ แƒแƒ˜แƒ•แƒ˜แƒ“แƒแƒœ. แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒ›แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ•แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ— แƒ—แƒฅแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก แƒ›แƒแƒ แƒ’แƒ”แƒ‘แƒฃแƒš แƒฅแƒกแƒ”แƒšแƒก. แƒ—แƒฃ แƒ”แƒก แƒแƒ  แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒฌแƒ˜แƒœแƒแƒกแƒฌแƒแƒ  แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒแƒ— แƒกแƒแƒญแƒ˜แƒ แƒ แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒ˜ แƒคแƒšแƒ”แƒจ แƒ“แƒ˜แƒกแƒ™แƒ–แƒ”.

แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒ“แƒ˜แƒ•แƒแƒ แƒ— Desktop แƒ’แƒแƒ แƒ”แƒ›แƒแƒจแƒ˜, แƒ’แƒแƒ•แƒฃแƒจแƒ•แƒ˜แƒ— แƒขแƒ”แƒ แƒ›แƒ˜แƒœแƒแƒšแƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒ˜ แƒ“แƒ แƒ›แƒ˜แƒ•แƒ“แƒ˜แƒ•แƒแƒ แƒ—:

#sudo bash

แฒ แƒแƒ’แƒแƒ โ€ฆ?แƒ–แƒ”แƒ›แƒแƒ— แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜ แƒกแƒขแƒ แƒ˜แƒฅแƒแƒœแƒ˜ แƒแƒ แƒ˜แƒก แƒ™แƒแƒœแƒแƒœแƒ˜แƒ™แƒฃแƒ แƒ˜ แƒ’แƒแƒ›แƒแƒ›แƒฌแƒ•แƒ”แƒ•แƒ˜ แƒฐแƒแƒšแƒ˜แƒ•แƒแƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒกแƒฃแƒ“แƒแƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘. C แƒ‘ะพแƒฃแƒคแƒ แƒ แƒ“แƒ˜แƒ“แƒ˜ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜ แƒ›แƒแƒ“แƒ˜แƒก แƒ“แƒะพแƒฃแƒคแƒ แƒ แƒ“แƒ˜แƒ“แƒ˜ แƒžแƒแƒกแƒฃแƒฎแƒ˜แƒกแƒ›แƒ’แƒ”แƒ‘แƒšแƒแƒ‘แƒ. แƒกแƒแƒ™แƒ˜แƒ—แƒฎแƒแƒ•แƒ˜แƒ, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒ แƒ—แƒฃ แƒแƒ แƒ แƒกแƒแƒ™แƒฃแƒ—แƒแƒ  แƒ—แƒแƒ•แƒ–แƒ” แƒแƒฆแƒ”แƒ‘แƒ. แƒ‘แƒ”แƒ•แƒ แƒ˜ แƒคแƒ˜แƒฅแƒ แƒแƒ‘แƒก, แƒ แƒแƒ› แƒกแƒฃแƒ“แƒแƒก แƒแƒ› แƒ’แƒ–แƒ˜แƒ— แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒ›แƒแƒ˜แƒœแƒช แƒแƒ  แƒแƒ แƒ˜แƒก แƒคแƒ แƒ—แƒฎแƒ˜แƒšแƒแƒ“. แƒ—แƒฃแƒ›แƒชแƒ:

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

แƒ แƒแƒขแƒแƒ› แƒแƒ แƒ ZFS...?แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒ— แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒš แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒแƒก แƒฉแƒ•แƒ”แƒœแƒก แƒ™แƒแƒ›แƒžแƒ˜แƒฃแƒขแƒ”แƒ แƒ–แƒ”, แƒฉแƒ•แƒ”แƒœ แƒแƒ แƒกแƒ”แƒ‘แƒ˜แƒ—แƒแƒ“ แƒ•แƒแƒซแƒšแƒ”แƒ•แƒ— แƒฉแƒ•แƒ”แƒœแƒก แƒแƒžแƒแƒ แƒแƒขแƒฃแƒ แƒแƒก แƒแƒ› แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒฅแƒ›แƒœแƒ”แƒšแƒ”แƒ‘แƒก, แƒ แƒแƒ—แƒ แƒ›แƒแƒ แƒ—แƒแƒœ.
แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒแƒ› แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒš แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒแƒก แƒ•แƒ”แƒœแƒ“แƒแƒ‘แƒ˜แƒ— แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒฃแƒกแƒแƒคแƒ แƒ—แƒฎแƒแƒ”แƒ‘แƒแƒก, แƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒกแƒ”แƒกแƒฎแƒก แƒแƒ› แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒแƒฆแƒ“แƒ’แƒ”แƒœแƒ˜แƒก แƒฆแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒขแƒแƒšแƒคแƒแƒกแƒ˜, แƒ แƒแƒ›แƒšแƒ˜แƒก แƒ’แƒแƒ“แƒแƒฎแƒ“แƒ แƒแƒ“แƒ”แƒกแƒ›แƒ” แƒ›แƒแƒ’แƒ•แƒ˜แƒฌแƒ”แƒ•แƒก.

แƒแƒ› แƒ—แƒ•แƒแƒšแƒกแƒแƒ–แƒ แƒ˜แƒกแƒ˜แƒ—, ZFS แƒแƒ แƒ˜แƒก Ferrari, แƒฎแƒแƒšแƒ mdadm+lvm แƒฃแƒคแƒ แƒ แƒ•แƒ”แƒšแƒแƒกแƒ˜แƒžแƒ”แƒ“แƒก แƒฐแƒ’แƒแƒ•แƒก.

แƒกแƒฃแƒ‘แƒ˜แƒ”แƒฅแƒขแƒฃแƒ แƒแƒ“, แƒแƒ•แƒขแƒแƒ แƒก แƒฃแƒ แƒฉแƒ”แƒ•แƒœแƒ˜แƒ Ferrari-แƒ˜แƒก แƒœแƒแƒชแƒ•แƒšแƒแƒ“ แƒ•แƒ”แƒšแƒแƒกแƒ˜แƒžแƒ”แƒ“แƒ˜แƒก แƒกแƒ”แƒกแƒฎแƒ˜ แƒฃแƒชแƒœแƒแƒ‘ แƒžแƒ˜แƒ แƒ”แƒ‘แƒก แƒ™แƒ แƒ”แƒ“แƒ˜แƒขแƒ˜แƒ— แƒ›แƒ˜แƒกแƒชแƒ”แƒก. แƒ˜แƒฅ แƒกแƒแƒ™แƒ˜แƒ—แƒฎแƒ˜แƒก แƒคแƒแƒกแƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก แƒ›แƒแƒฆแƒแƒšแƒ˜. แƒแƒ  แƒแƒ แƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒ แƒฃแƒคแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜. แƒฃแƒคแƒ แƒ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ แƒ•แƒ˜แƒ“แƒ แƒ” แƒ›แƒแƒซแƒ แƒแƒแƒ‘แƒ˜แƒก แƒฌแƒ”แƒกแƒ”แƒ‘แƒ˜. แƒžแƒแƒ แƒ™แƒ˜แƒœแƒ’แƒ˜ แƒฃแƒคแƒแƒกแƒแƒ. แƒกแƒแƒ–แƒฆแƒ•แƒแƒ แƒฅแƒ•แƒ”แƒงแƒœแƒ˜แƒก แƒฃแƒœแƒแƒ แƒ˜ แƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒ˜แƒ. แƒ—แƒฅแƒ•แƒ”แƒœ แƒงแƒแƒ•แƒ”แƒšแƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ•แƒ”แƒšแƒแƒกแƒ˜แƒžแƒ”แƒ“แƒ–แƒ” แƒคแƒ”แƒฎแƒ”แƒ‘แƒ˜ แƒ›แƒ˜แƒแƒ›แƒแƒ’แƒ แƒแƒ—, แƒฎแƒแƒšแƒ แƒ•แƒ”แƒšแƒแƒกแƒ˜แƒžแƒ”แƒ“แƒ˜แƒก แƒจแƒ”แƒ™แƒ”แƒ—แƒ”แƒ‘แƒ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ แƒฎแƒ”แƒšแƒ˜แƒ—.

แƒ แƒแƒขแƒแƒ› แƒ›แƒแƒจแƒ˜แƒœ BTRFS...?แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒฃแƒšแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒคแƒแƒ˜แƒšแƒฃแƒ แƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒšแƒ˜แƒ Legacy/BIOS GRUB-แƒจแƒ˜ แƒ“แƒ แƒแƒ›แƒแƒ•แƒ“แƒ แƒแƒฃแƒšแƒแƒ“ แƒ›แƒฎแƒแƒ แƒก แƒฃแƒญแƒ”แƒ แƒก แƒชแƒแƒชแƒฎแƒแƒš แƒกแƒœแƒ”แƒžแƒจแƒแƒขแƒ”แƒ‘แƒก. แƒฉแƒ•แƒ”แƒœ แƒ›แƒแƒก แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— /boot แƒ“แƒแƒœแƒแƒงแƒแƒคแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ’แƒแƒ แƒ“แƒ แƒแƒ›แƒ˜แƒกแƒ, แƒแƒ•แƒขแƒแƒ แƒก แƒฃแƒ แƒฉแƒ”แƒ•แƒœแƒ˜แƒ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒก แƒ”แƒก FS / (root), แƒแƒ  แƒฃแƒœแƒ“แƒ แƒ“แƒแƒ’แƒ•แƒแƒ•แƒ˜แƒฌแƒงแƒ“แƒ”แƒก แƒแƒฆแƒ˜แƒœแƒ˜แƒจแƒœแƒแƒก, แƒ แƒแƒ› แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒกแƒฎแƒ•แƒ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒจแƒ”แƒฅแƒ›แƒœแƒแƒ— แƒชแƒแƒšแƒ™แƒ”แƒฃแƒšแƒ˜ แƒขแƒ˜แƒฎแƒ แƒ”แƒ‘แƒ˜ LVM-แƒ–แƒ” แƒ“แƒ แƒ“แƒแƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒแƒ— แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒกแƒแƒญแƒ˜แƒ แƒ แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒจแƒ˜.

แƒฉแƒ•แƒ”แƒœ แƒแƒ  แƒ•แƒ˜แƒœแƒแƒฎแƒแƒ•แƒ— แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒฅแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒแƒœ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒแƒ–แƒ˜แƒก แƒกแƒฃแƒ แƒแƒ—แƒ”แƒ‘แƒก แƒแƒ› FS-แƒ–แƒ”.
แƒ”แƒก FS แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒกแƒœแƒ”แƒžแƒจแƒแƒขแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฅแƒ›แƒœแƒ”แƒšแƒแƒ“ แƒ›แƒ˜แƒกแƒ˜ แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ” แƒ“แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ’แƒแƒ“แƒแƒ˜แƒขแƒแƒœแƒแƒก แƒ”แƒก แƒ™แƒแƒ“แƒ แƒ”แƒ‘แƒ˜ แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒ“แƒ˜แƒกแƒ™แƒ–แƒ” แƒ’แƒแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒก/แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—.

แƒ’แƒแƒ แƒ“แƒ แƒแƒ›แƒ˜แƒกแƒ, แƒแƒ•แƒขแƒแƒ แƒก แƒ–แƒแƒ’แƒแƒ“แƒแƒ“ แƒแƒ›แƒฏแƒแƒ‘แƒ˜แƒœแƒ”แƒ‘แƒก แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ˜แƒก แƒ›แƒ˜แƒœแƒ˜แƒ›แƒฃแƒ›แƒ˜ แƒฃแƒจแƒฃแƒแƒšแƒแƒ“ แƒแƒžแƒแƒ แƒแƒขแƒฃแƒ แƒแƒ–แƒ” แƒ“แƒแƒ แƒฉแƒ”แƒœแƒ แƒ“แƒ แƒงแƒ•แƒ”แƒšแƒ แƒกแƒฎแƒ•แƒ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ  แƒ›แƒแƒœแƒฅแƒแƒœแƒ”แƒ‘แƒจแƒ˜ แƒ˜แƒกแƒ”แƒ—แƒ˜ แƒ แƒแƒฆแƒแƒชแƒ”แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ GPU แƒ“แƒ PCI-USB แƒ›แƒแƒกแƒžแƒ˜แƒœแƒซแƒ”แƒšแƒ˜ แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ“แƒแƒ’แƒ–แƒแƒ•แƒœแƒ KVM-แƒ–แƒ” IOMMU-แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ—.

แƒ”แƒ แƒ—แƒแƒ“แƒ”แƒ แƒ—แƒ˜ แƒ แƒแƒช แƒ“แƒแƒ แƒฉแƒ แƒแƒžแƒแƒ แƒแƒขแƒฃแƒ แƒแƒ–แƒ” แƒแƒ แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ, แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒ แƒ“แƒ แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ˜.

แƒ—แƒฃ แƒฃแƒคแƒ แƒ แƒ›แƒ”แƒขแƒแƒ“ แƒ”แƒœแƒ“แƒแƒ‘แƒ˜แƒ— ZFS-แƒก, แƒ›แƒแƒจแƒ˜แƒœ, แƒžแƒ แƒ˜แƒœแƒชแƒ˜แƒžแƒจแƒ˜, แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒแƒžแƒšแƒ˜แƒ™แƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒฃแƒ แƒ—แƒ˜แƒ”แƒ แƒ—แƒจแƒ”แƒ›แƒชแƒ•แƒšแƒ”แƒšแƒœแƒ˜ แƒแƒ แƒ˜แƒแƒœ.

แƒ—แƒฃแƒ›แƒชแƒ, แƒแƒ•แƒขแƒแƒ แƒ˜ แƒ’แƒแƒœแƒ–แƒ แƒแƒฎ แƒฃแƒ’แƒฃแƒšแƒ”แƒ‘แƒ”แƒšแƒงแƒแƒคแƒก แƒฉแƒแƒจแƒ”แƒœแƒ”แƒ‘แƒฃแƒš แƒกแƒแƒ แƒ™แƒ˜แƒกแƒ”แƒ‘แƒฃแƒ /RAID แƒ“แƒ แƒญแƒแƒ แƒ‘แƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ’แƒแƒแƒฉแƒœแƒ˜แƒแƒ— ZFS, BRTFS แƒ“แƒ LVM.

แƒ แƒแƒ’แƒแƒ แƒช แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒแƒ แƒ’แƒฃแƒ›แƒ”แƒœแƒขแƒ˜, BTRFS-แƒก แƒแƒฅแƒ•แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ แƒ’แƒแƒ“แƒแƒแƒฅแƒชแƒ˜แƒแƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ˜แƒ—แƒ˜ แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ”แƒ‘แƒ˜ แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒฃแƒš แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ”แƒ‘แƒแƒ“, แƒ แƒแƒช แƒฃแƒ™แƒ˜แƒ“แƒฃแƒ แƒ”แƒกแƒแƒ“ แƒ“แƒแƒ“แƒ”แƒ‘แƒ˜แƒ—แƒแƒ“ แƒ›แƒแƒฅแƒ›แƒ”แƒ“แƒ”แƒ‘แƒก HDD-แƒ–แƒ” แƒกแƒœแƒ”แƒžแƒจแƒแƒขแƒ”แƒ‘แƒ˜แƒก/แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ”แƒ–แƒ”.

แƒ›แƒแƒ“แƒ˜แƒ— แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒ’แƒแƒ“แƒแƒ•แƒฎแƒ”แƒ“แƒแƒ— แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒแƒก:

#udevadm control --reload-rules && udevadm trigger

แƒ›แƒแƒ“แƒ˜แƒ—, แƒ›แƒ˜แƒ›แƒแƒ•แƒ˜แƒฎแƒ”แƒ“แƒแƒ— แƒ’แƒแƒ แƒจแƒ”แƒ›แƒ:

#lsscsi && nvme list
[0:0:0:0] disk ATA Samsung SSD 860 2B6Q /dev/sda
[1:0:0:0] disk ATA Samsung SSD 860 2B6Q /dev/sdb
[2:0:0:0] disk ATA Samsung SSD 860 2B6Q /dev/sdc
[3:0:0:0] disk ATA Samsung SSD 860 2B6Q /dev/sdd
[4:0:0:0] disk ATA Samsung SSD 860 2B6Q /dev/sde
[5:0:0:0] disk ATA Samsung SSD 860 2B6Q /dev/sdf
[6:0:0:0] disk ATA HGST HTS721010A9 A3J0 /dev/sdg
[6:0:1:0] disk ATA HGST HTS721010A9 A3J0 /dev/sdh
[6:0:2:0] disk ATA HGST HTS721010A9 A3J0 /dev/sdi
[6:0:3:0] disk ATA HGST HTS721010A9 A3B0 /dev/sdj
[6:0:4:0] disk ATA HGST HTS721010A9 A3B0 /dev/sdk
[6:0:5:0] disk ATA HGST HTS721010A9 A3B0 /dev/sdl
[6:0:6:0] disk ATA HGST HTS721010A9 A3J0 /dev/sdm
[6:0:7:0] disk ATA HGST HTS721010A9 A3J0 /dev/sdn
Node SN Model Namespace Usage Format FW Rev
---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
/dev/nvme0n1 S466NXXXXXXX15L Samsung SSD 970 EVO 500GB 1 0,00 GB / 500,11 GB 512 B + 0 B 2B2QEXE7
/dev/nvme1n1 S5H7NXXXXXXX48N Samsung SSD 970 EVO 500GB 1 0,00 GB / 500,11 GB 512 B + 0 B 2B2QEXE7

แƒ“แƒ˜แƒกแƒ™แƒ˜แƒก แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒ

NVMe SSD

แƒ›แƒแƒ’แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœ แƒแƒ แƒแƒœแƒแƒ˜แƒ แƒแƒ“ แƒแƒ  แƒแƒฆแƒ•แƒœแƒ˜แƒจแƒœแƒแƒ•แƒ— แƒ›แƒแƒ—. แƒ”แƒ แƒ—แƒ˜ แƒ“แƒ แƒ˜แƒ’แƒ˜แƒ•แƒ”, แƒฉแƒ•แƒ”แƒœแƒ˜ BIOS แƒ•แƒ”แƒ  แƒฎแƒ”แƒ“แƒแƒ•แƒก แƒแƒ› แƒ“แƒ˜แƒกแƒ™แƒ”แƒ‘แƒก. แƒแƒกแƒ” แƒ แƒแƒ›, แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒแƒ“ แƒ’แƒแƒ“แƒแƒ“แƒ˜แƒแƒœ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒš RAID-แƒ–แƒ”. แƒฉแƒ•แƒ”แƒœ แƒ˜แƒฅ แƒกแƒ”แƒฅแƒชแƒ˜แƒ”แƒ‘แƒกแƒแƒช แƒแƒ  แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒ˜แƒ—. แƒ—แƒฃ แƒ’แƒกแƒฃแƒ แƒ— แƒ“แƒแƒ˜แƒชแƒ•แƒแƒก โ€žแƒ™แƒแƒœแƒแƒœแƒ˜โ€œ แƒแƒœ โ€žแƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒแƒ“โ€œ, แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒ”แƒ แƒ—แƒ˜ แƒ“แƒ˜แƒ“แƒ˜ แƒ“แƒแƒœแƒแƒงแƒแƒคแƒ˜, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ HDD.

SATA แƒ›แƒงแƒแƒ แƒ˜ แƒ“แƒ˜แƒกแƒ™แƒ˜

แƒแƒ  แƒแƒ แƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒ แƒแƒฅ แƒ แƒแƒ˜แƒ›แƒ” แƒ’แƒแƒœแƒกแƒแƒ™แƒฃแƒ—แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒก แƒ’แƒแƒ›แƒแƒ’แƒแƒœแƒ”แƒ‘แƒ. แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒ˜แƒ— แƒ”แƒ แƒ— แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒแƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒ˜แƒ— แƒ“แƒแƒœแƒแƒงแƒแƒคแƒก, แƒ แƒแƒ“แƒ’แƒแƒœ BIOS แƒฎแƒ”แƒ“แƒแƒ•แƒก แƒแƒ› แƒ“แƒ˜แƒกแƒ™แƒ”แƒ‘แƒก แƒ“แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒแƒ แƒชแƒ“แƒ˜แƒšแƒแƒ‘แƒ“แƒ”แƒก แƒ›แƒแƒ—แƒ’แƒแƒœ แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒแƒก. แƒฉแƒ•แƒ”แƒœ แƒ›แƒแƒ’แƒ•แƒ˜แƒแƒœแƒ”แƒ‘แƒ˜แƒ— แƒ“แƒแƒ•แƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒ— GRUB-แƒก แƒแƒ› แƒ“แƒ˜แƒกแƒ™แƒ”แƒ‘แƒ–แƒ”, แƒ แƒแƒ—แƒ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒ› แƒ›แƒแƒฃแƒšแƒแƒ“แƒœแƒ”แƒšแƒแƒ“ แƒ’แƒแƒแƒ™แƒ”แƒ—แƒแƒก แƒ”แƒก.

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

/dev/sdg1 : start= 2048, size= 1953523120, type=fd, bootable
EOF
#sfdisk /dev/sdg < hdd.part
#sfdisk /dev/sdh < hdd.part
#sfdisk /dev/sdi < hdd.part
#sfdisk /dev/sdj < hdd.part
#sfdisk /dev/sdk < hdd.part
#sfdisk /dev/sdl < hdd.part
#sfdisk /dev/sdm < hdd.part
#sfdisk /dev/sdn < hdd.part

SATA SSD

แƒกแƒฌแƒแƒ แƒ”แƒ“ แƒแƒฅ แƒฎแƒ“แƒ”แƒ‘แƒ แƒฉแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก แƒกแƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ แƒ แƒแƒ›.

แƒฏแƒ”แƒ  แƒ”แƒ แƒ—แƒ˜, แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ“แƒ˜แƒกแƒ™แƒ”แƒ‘แƒ˜ แƒแƒ แƒ˜แƒก 2 แƒขแƒ‘ แƒ–แƒแƒ›แƒ˜แƒก. แƒ”แƒก แƒแƒ แƒ˜แƒก MBR-แƒกแƒ—แƒ•แƒ˜แƒก แƒ›แƒ˜แƒกแƒแƒฆแƒ”แƒ‘แƒ˜ แƒ“แƒ˜แƒแƒžแƒแƒ–แƒแƒœแƒ˜แƒก แƒคแƒแƒ แƒ’แƒšแƒ”แƒ‘แƒจแƒ˜, แƒ แƒแƒกแƒแƒช แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ—. แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒจแƒ”แƒ˜แƒชแƒ•แƒแƒšแƒแƒก GPT-แƒ˜แƒ—. GPT แƒ“แƒ˜แƒกแƒ™แƒ”แƒ‘แƒก แƒแƒฅแƒ•แƒ— แƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒแƒ“แƒแƒ‘แƒ˜แƒก แƒจแƒ แƒ”, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒแƒซแƒšแƒ”แƒ•แƒก MBR-แƒ—แƒแƒœ แƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒแƒ“ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ”แƒ‘แƒก แƒœแƒแƒฎแƒแƒœ แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ 4 แƒ“แƒแƒœแƒแƒงแƒแƒคแƒ˜, แƒ—แƒฃ แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒžแƒ˜แƒ แƒ•แƒ”แƒš 2 แƒขแƒ”แƒ แƒแƒ‘แƒแƒ˜แƒขแƒจแƒ˜. แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜แƒ, แƒ แƒแƒ› แƒแƒ› แƒ“แƒ˜แƒกแƒ™แƒ”แƒ‘แƒ–แƒ” boot partition แƒ“แƒ bios_grub แƒ“แƒแƒœแƒแƒงแƒแƒคแƒ”แƒ‘แƒ˜ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒ“แƒแƒกแƒแƒฌแƒงแƒ˜แƒกแƒจแƒ˜. แƒ”แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ’แƒแƒซแƒšแƒ”แƒ•แƒ— แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒแƒ— GPT Legacy/BIOS แƒ“แƒ˜แƒกแƒ™แƒ”แƒ‘แƒ˜แƒ“แƒแƒœ.

แƒ›แƒแƒ’แƒ แƒแƒ› แƒ”แƒก แƒแƒ  แƒแƒ แƒ˜แƒก แƒฉแƒ•แƒ”แƒœแƒ˜ แƒกแƒแƒฅแƒ›แƒ”.

แƒแƒฅ แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒ˜แƒ— แƒแƒ  แƒ’แƒแƒœแƒงแƒแƒคแƒ˜แƒšแƒ”แƒ‘แƒแƒก. แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ 1 GB แƒ–แƒแƒ›แƒ˜แƒก แƒ“แƒ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ RAID 1/boot-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒ›แƒ”แƒแƒ แƒ” แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ RAID 6-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒ แƒ“แƒแƒ˜แƒ™แƒแƒ•แƒ”แƒ‘แƒก แƒ›แƒ—แƒ”แƒš แƒ“แƒแƒ แƒฉแƒ”แƒœแƒ˜แƒš แƒ—แƒแƒ•แƒ˜แƒกแƒฃแƒคแƒแƒš แƒแƒ“แƒ’แƒ˜แƒšแƒก, แƒ’แƒแƒ แƒ“แƒ แƒ“แƒ˜แƒกแƒ™แƒ˜แƒก แƒ‘แƒแƒšแƒแƒก แƒ›แƒชแƒ˜แƒ แƒ” แƒ’แƒแƒ›แƒแƒฃแƒงแƒ”แƒœแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒแƒ“แƒ’แƒ˜แƒšแƒ˜แƒกแƒ.

แƒ แƒ แƒแƒ แƒ˜แƒก แƒ”แƒก แƒ“แƒแƒฃแƒกแƒแƒฎแƒ”แƒšแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒขแƒ”แƒ แƒ˜แƒขแƒแƒ แƒ˜แƒ?แƒฅแƒกแƒ”แƒšแƒจแƒ˜ แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฌแƒงแƒแƒ แƒแƒ”แƒ‘แƒ˜แƒก แƒ—แƒแƒœแƒแƒฎแƒ›แƒแƒ“, แƒฉแƒ•แƒ”แƒœแƒก SATA SSD-แƒ”แƒ‘แƒก แƒแƒฅแƒ•แƒ— แƒ“แƒ˜แƒœแƒแƒ›แƒ˜แƒฃแƒ แƒแƒ“ แƒ’แƒแƒคแƒแƒ แƒ—แƒแƒ”แƒ‘แƒแƒ“แƒ˜ SLC แƒฅแƒ”แƒจแƒ˜, แƒ แƒแƒ›แƒšแƒ˜แƒก แƒ–แƒแƒ›แƒ”แƒ‘แƒ˜แƒ 6-แƒ“แƒแƒœ 78 แƒ’แƒ˜แƒ’แƒแƒ‘แƒแƒ˜แƒขแƒแƒ›แƒ“แƒ”. แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ— 6 แƒ’แƒ˜แƒ’แƒแƒ‘แƒแƒ˜แƒขแƒก "แƒฃแƒคแƒแƒกแƒแƒ“" แƒ“แƒ˜แƒกแƒ™แƒ˜แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒคแƒฃแƒ แƒชแƒ”แƒšแƒจแƒ˜ "แƒ’แƒ˜แƒ’แƒแƒ‘แƒแƒ˜แƒขแƒกแƒ" แƒ“แƒ "แƒ’แƒ˜แƒ‘แƒ˜แƒ‘แƒแƒ˜แƒขแƒก" แƒจแƒแƒ แƒ˜แƒก แƒกแƒฎแƒ•แƒแƒแƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒ. แƒ“แƒแƒ แƒฉแƒ”แƒœแƒ˜แƒšแƒ˜ 72 แƒ’แƒ˜แƒ’แƒแƒ‘แƒแƒ˜แƒขแƒ˜ แƒ’แƒแƒ›แƒแƒฃแƒงแƒ”แƒœแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒกแƒ˜แƒ•แƒ แƒชแƒ˜แƒ“แƒแƒœ แƒแƒ แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒแƒคแƒ˜แƒšแƒ˜.

แƒแƒฅแƒ•แƒ” แƒฃแƒœแƒ“แƒ แƒแƒฆแƒ˜แƒœแƒ˜แƒจแƒœแƒแƒก, แƒ แƒแƒ› แƒ’แƒ•แƒแƒฅแƒ•แƒก SLC แƒฅแƒ”แƒจแƒ˜, แƒฎแƒแƒšแƒ แƒกแƒ˜แƒ•แƒ แƒชแƒ” 4 แƒ‘แƒ˜แƒขแƒ˜แƒแƒœแƒ˜ MLC แƒ แƒ”แƒŸแƒ˜แƒ›แƒจแƒ˜แƒ แƒ“แƒแƒ™แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜. แƒ แƒแƒช แƒฉแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก แƒ”แƒคแƒ”แƒฅแƒขแƒฃแƒ แƒแƒ“ แƒœแƒ˜แƒจแƒœแƒแƒ•แƒก, แƒ แƒแƒ› แƒงแƒแƒ•แƒ”แƒšแƒ˜ 4 แƒ’แƒ˜แƒ’แƒแƒ‘แƒแƒ˜แƒขแƒ˜ แƒ—แƒแƒ•แƒ˜แƒกแƒฃแƒคแƒแƒš แƒกแƒ˜แƒ•แƒ แƒชแƒ”แƒจแƒ˜ แƒฉแƒ•แƒ”แƒœ แƒ›แƒ˜แƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒ›แƒฎแƒแƒšแƒแƒ“ 1 แƒ’แƒ˜แƒ’แƒแƒ‘แƒแƒ˜แƒข SLC แƒฅแƒ”แƒจแƒก.

แƒ’แƒแƒแƒ›แƒ แƒแƒ•แƒšแƒ”แƒ— 72 แƒ’แƒ˜แƒ’แƒแƒ‘แƒแƒ˜แƒขแƒ˜ 4-แƒ–แƒ” แƒ“แƒ แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ— 288 แƒ’แƒ˜แƒ’แƒแƒ‘แƒแƒ˜แƒขแƒ˜. แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ—แƒแƒ•แƒ˜แƒกแƒฃแƒคแƒแƒšแƒ˜ แƒแƒ“แƒ’แƒ˜แƒšแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒฉแƒ•แƒ”แƒœ แƒแƒ  แƒ’แƒแƒ›แƒแƒ•แƒงแƒแƒคแƒ—, แƒ แƒแƒ—แƒ แƒ“แƒ˜แƒกแƒ™แƒ”แƒ‘แƒก แƒ›แƒ˜แƒ•แƒชแƒ”แƒ— แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ แƒกแƒ แƒฃแƒšแƒแƒ“ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒœ SLC แƒฅแƒ”แƒจแƒ˜.

แƒแƒ›แƒ แƒ˜แƒ’แƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒ”แƒคแƒ”แƒฅแƒขแƒฃแƒ แƒแƒ“ แƒ›แƒ˜แƒ•แƒ˜แƒฆแƒ”แƒ‘แƒ— 312 แƒ’แƒ˜แƒ’แƒแƒ‘แƒแƒ˜แƒขแƒแƒ›แƒ“แƒ” SLC แƒฅแƒ”แƒจแƒก แƒกแƒฃแƒš แƒ”แƒฅแƒ•แƒกแƒ˜ แƒ“แƒ˜แƒกแƒ™แƒ˜แƒ“แƒแƒœ. แƒงแƒ•แƒ”แƒšแƒ แƒ“แƒ˜แƒกแƒ™แƒ˜แƒ“แƒแƒœ 2 แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ RAID-แƒจแƒ˜ แƒ–แƒ”แƒ“แƒ›แƒ”แƒขแƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒฅแƒ”แƒจแƒ˜แƒก แƒ”แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ›แƒแƒ’แƒ•แƒชแƒ”แƒ›แƒก แƒ แƒ”แƒแƒšแƒฃแƒ  แƒชแƒฎแƒแƒ•แƒ แƒ”แƒ‘แƒแƒจแƒ˜ แƒฃแƒ™แƒ˜แƒ“แƒฃแƒ แƒ”แƒกแƒแƒ“ แƒ˜แƒจแƒ•แƒ˜แƒแƒ—แƒแƒ“ แƒจแƒ”แƒ•แƒฎแƒ•แƒ“แƒ”แƒ— แƒกแƒ˜แƒขแƒฃแƒแƒชแƒ˜แƒแƒก, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ˜ แƒแƒ  แƒ›แƒ˜แƒ“แƒ˜แƒก แƒฅแƒ”แƒจแƒจแƒ˜. แƒ”แƒก แƒซแƒแƒšแƒ˜แƒแƒœ แƒ™แƒแƒ แƒ’แƒแƒ“ แƒแƒœแƒแƒ–แƒฆแƒแƒฃแƒ แƒ”แƒ‘แƒก QLC แƒ›แƒ”แƒฎแƒกแƒ˜แƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒกแƒแƒ›แƒฌแƒฃแƒฎแƒแƒ แƒ แƒœแƒแƒ™แƒšแƒก - แƒฉแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒฃแƒ™แƒ˜แƒ“แƒฃแƒ แƒ”แƒกแƒแƒ“ แƒ“แƒแƒ‘แƒแƒšแƒ˜ แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ”, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒ˜แƒฌแƒ”แƒ แƒ”แƒ‘แƒ แƒฅแƒ”แƒจแƒ˜แƒก แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒก แƒแƒ•แƒšแƒ˜แƒ—. แƒ—แƒฃ แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ”แƒ‘แƒ˜ แƒแƒ›แƒแƒก แƒแƒ  แƒจแƒ”แƒ”แƒกแƒแƒ‘แƒแƒ›แƒ”แƒ‘แƒ, แƒ›แƒแƒจแƒ˜แƒœ แƒ’แƒ˜แƒ แƒฉแƒ”แƒ•แƒ— แƒ™แƒแƒ แƒ’แƒแƒ“ แƒ“แƒแƒคแƒ˜แƒฅแƒ แƒ“แƒ”แƒ—, แƒ แƒแƒ›แƒ“แƒ”แƒœ แƒฎแƒแƒœแƒก แƒ’แƒแƒซแƒšแƒ”แƒ‘แƒก แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ SSD แƒแƒกแƒ”แƒ—แƒ˜ แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒฅแƒ•แƒ”แƒจ, แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒคแƒฃแƒ แƒชแƒšแƒ˜แƒก TBW-แƒ˜แƒก แƒ’แƒแƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒ”แƒ‘แƒ˜แƒ—.

#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 แƒ›แƒแƒกแƒ˜แƒ•แƒ˜แƒก แƒ˜แƒœแƒ˜แƒชแƒ˜แƒแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒ แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒกแƒ—แƒแƒœแƒแƒ•แƒ” แƒแƒ แƒ˜แƒก TBW แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ˜แƒก แƒ“แƒแƒ™แƒแƒ แƒ’แƒ•แƒ. แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— TRIM/DISCARD-แƒก, แƒกแƒแƒ“แƒแƒช แƒ”แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ, แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒš SSD แƒ›แƒแƒกแƒ˜แƒ•แƒ”แƒ‘แƒ–แƒ” แƒ›แƒแƒ—แƒ˜ โ€žแƒ˜แƒœแƒ˜แƒชแƒ˜แƒแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒกโ€œ.

SSD แƒ›แƒแƒกแƒ˜แƒ•แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, RAID 1 DISCARD แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒšแƒ˜แƒ แƒ’แƒแƒ แƒ”แƒ“แƒแƒœ.

SSD RAID 6 DISCARD แƒ›แƒแƒกแƒ˜แƒ•แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒฉแƒแƒ แƒ—แƒแƒ— แƒ˜แƒก แƒ‘แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ›แƒแƒ“แƒฃแƒšแƒ˜แƒก แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒจแƒ˜.

แƒ”แƒก แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ™แƒ”แƒ—แƒ“แƒ”แƒก แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ˜แƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ—แƒฃ แƒแƒ› แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒจแƒ˜ 4/5/6 แƒ“แƒแƒœแƒ˜แƒก แƒ›แƒแƒกแƒ˜แƒ•แƒ”แƒ‘แƒจแƒ˜ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒงแƒ•แƒ”แƒšแƒ SSD-แƒก แƒแƒฅแƒ•แƒก discard_zeroes_data แƒกแƒแƒ›แƒฃแƒจแƒแƒ แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ. แƒ–แƒแƒ’แƒฏแƒ”แƒ  แƒจแƒ”แƒฎแƒ•แƒ“แƒ”แƒ‘แƒ˜แƒ— แƒฃแƒชแƒœแƒแƒฃแƒ  แƒ“แƒ˜แƒกแƒ™แƒ”แƒ‘แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ”แƒฃแƒ‘แƒœแƒ”แƒ‘แƒ˜แƒแƒœ แƒ‘แƒ˜แƒ แƒ—แƒ•แƒก, แƒ แƒแƒ› แƒ”แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ˜แƒšแƒ˜แƒ, แƒ›แƒแƒ’แƒ แƒแƒ› แƒกแƒ˜แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒ”แƒจแƒ˜ แƒ˜แƒก แƒแƒ  แƒแƒ แƒ˜แƒก, แƒแƒœ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ แƒงแƒแƒ•แƒ”แƒšแƒ—แƒ•แƒ˜แƒก แƒแƒ  แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก. แƒแƒ› แƒ“แƒ แƒแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ แƒฎแƒ”แƒšแƒ›แƒ˜แƒกแƒแƒฌแƒ•แƒ“แƒแƒ›แƒ˜แƒ แƒ—แƒ˜แƒ—แƒฅแƒ›แƒ˜แƒก แƒงแƒ•แƒ”แƒšแƒ’แƒแƒœ, แƒ—แƒฃแƒ›แƒชแƒ แƒแƒ แƒ˜แƒก แƒซแƒ•แƒ”แƒšแƒ˜ แƒ“แƒ˜แƒกแƒ™แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒžแƒ แƒแƒ’แƒ แƒแƒ›แƒฃแƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ”แƒ‘แƒ˜แƒ—. แƒแƒ› แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ˜แƒ—, DISCARD แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒแƒ“ แƒ’แƒแƒ›แƒแƒ แƒ—แƒฃแƒšแƒ˜แƒ RAID 6-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒงแƒฃแƒ แƒแƒ“แƒฆแƒ”แƒ‘แƒ, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ แƒ’แƒแƒแƒœแƒแƒ“แƒ’แƒฃแƒ แƒ”แƒ‘แƒก แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒก 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 แƒฅแƒ”แƒจแƒ˜แƒ— แƒ“แƒ แƒฌแƒ•แƒ แƒ˜แƒš-แƒžแƒ แƒแƒ•แƒ˜แƒแƒŸแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒฎแƒ แƒ˜แƒ™แƒ”แƒ‘แƒ˜แƒ—.

แƒฉแƒ•แƒ”แƒœ แƒฏแƒ”แƒ  แƒแƒ  แƒฉแƒแƒ•แƒ แƒ—แƒแƒ•แƒ— DISCARD RAID 6-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒแƒ›แƒ˜แƒขแƒแƒ› แƒแƒ› แƒ›แƒแƒกแƒ˜แƒ•แƒ˜แƒก โ€žแƒ˜แƒœแƒ˜แƒชแƒ˜แƒแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒแƒกโ€œ แƒแƒ› แƒ“แƒ แƒแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒแƒ  แƒ’แƒแƒ•แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ—. แƒฉแƒ•แƒ”แƒœ แƒแƒ›แƒแƒก แƒ’แƒแƒ•แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ— แƒ›แƒแƒ’แƒ•แƒ˜แƒแƒœแƒ”แƒ‘แƒ˜แƒ—, OS-แƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’.

SATA แƒ›แƒงแƒแƒ แƒ˜ แƒ“แƒ˜แƒกแƒ™แƒ˜

#mdadm --create --verbose --assume-clean /dev/md3 --chunk-size=512 --level=6 --raid-devices=8 /dev/sd[g-n]1

LVM NVMe RAID-แƒ–แƒ”

แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒ˜แƒœแƒ“แƒ แƒ’แƒแƒœแƒ•แƒแƒ—แƒแƒ•แƒกแƒแƒ— root แƒคแƒแƒ˜แƒšแƒฃแƒ แƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ NVMe RAID 1-แƒ–แƒ”, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒ แƒ˜แƒก /dev/md0.
แƒ—แƒฃแƒ›แƒชแƒ, แƒฉแƒ•แƒ”แƒœ แƒ›แƒแƒ˜แƒœแƒช แƒ“แƒแƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ”แƒก แƒกแƒฌแƒ แƒแƒคแƒ˜ แƒ›แƒแƒกแƒ˜แƒ•แƒ˜ แƒกแƒฎแƒ•แƒ แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ swap, แƒ›แƒ”แƒขแƒแƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒ“แƒ LVM-cache แƒ“แƒ LVM-thin แƒ›แƒ”แƒขแƒแƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒ˜แƒ— LVM VG-แƒก แƒแƒ› แƒ›แƒแƒกแƒ˜แƒ•แƒ–แƒ”.

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

แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— แƒ“แƒแƒœแƒแƒงแƒแƒคแƒ˜ root แƒคแƒแƒ˜แƒšแƒฃแƒ แƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

#lvcreate -L 128G --name root root

แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— แƒ“แƒแƒœแƒแƒงแƒแƒคแƒ˜ RAM-แƒ˜แƒก แƒ–แƒแƒ›แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ— แƒ’แƒแƒ“แƒแƒกแƒแƒชแƒ•แƒšแƒ”แƒšแƒแƒ“.

#lvcreate -L 32G --name swap root

OS แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ

แƒกแƒแƒ”แƒ แƒ—แƒ แƒฏแƒแƒ›แƒจแƒ˜, แƒฉแƒ•แƒ”แƒœ แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜, แƒ แƒแƒช แƒกแƒแƒญแƒ˜แƒ แƒแƒ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ“แƒแƒกแƒแƒงแƒ”แƒœแƒ”แƒ‘แƒšแƒแƒ“.

แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ˜แƒก แƒแƒกแƒขแƒแƒขแƒ˜ Ubuntu Live แƒ’แƒแƒ แƒ”แƒ›แƒแƒ“แƒแƒœ. แƒœแƒแƒ แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ. แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒ˜แƒกแƒ™แƒ”แƒ‘แƒ˜แƒก แƒแƒ แƒฉแƒ”แƒ•แƒ˜แƒก แƒ”แƒขแƒแƒžแƒ–แƒ”, แƒ—แƒฅแƒ•แƒ”แƒœ แƒฃแƒœแƒ“แƒ แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒแƒ— แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜:

  • /dev/md1, - แƒ“แƒแƒ›แƒแƒ’แƒ แƒ”แƒ‘แƒ˜แƒก แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ˜ /แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ, FS - BTRFS
  • /dev/root/root (a.k.a /dev/mapper/root-root), - แƒ“แƒแƒ›แƒแƒ’แƒ แƒ”แƒ‘แƒ˜แƒก แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ˜ / (root), FS - BTRFS
  • /dev/root/swap (a.k.a /dev/mapper/root-swap), - แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒ แƒแƒ’แƒแƒ แƒช swap แƒ“แƒแƒœแƒแƒงแƒแƒคแƒ˜
  • แƒ“แƒแƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ— แƒฉแƒแƒ›แƒขแƒ•แƒ˜แƒ แƒ—แƒแƒ•แƒ˜ /dev/sda-แƒ–แƒ”

แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ˜แƒ แƒฉแƒ”แƒ•แƒ— BTRFS, แƒ แƒแƒ’แƒแƒ แƒช root แƒคแƒแƒ˜แƒšแƒฃแƒ  แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒก, แƒ˜แƒœแƒกแƒขแƒแƒšแƒ”แƒ แƒ˜ แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒแƒ“ แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒก BTRFS แƒแƒ  แƒขแƒแƒ›แƒก แƒกแƒแƒฎแƒ”แƒšแƒแƒ“ "@" for / (root) แƒ“แƒ "@home" for /home.

แƒ“แƒแƒ•แƒ˜แƒฌแƒงแƒแƒ— แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ...

แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ แƒ“แƒแƒกแƒ แƒฃแƒšแƒ“แƒ”แƒ‘แƒ แƒ›แƒแƒ“แƒแƒšแƒฃแƒ แƒ˜ แƒ“แƒ˜แƒแƒšแƒแƒ’แƒฃแƒ แƒ˜ แƒคแƒแƒœแƒฏแƒ แƒ˜แƒ—, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒ”แƒ‘แƒก แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒฉแƒแƒ›แƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ”แƒšแƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒกแƒแƒก. แƒกแƒแƒ›แƒฌแƒฃแƒฎแƒแƒ แƒแƒ“, แƒ—แƒฅแƒ•แƒ”แƒœ แƒ•แƒ”แƒ  แƒจแƒ”แƒซแƒšแƒ”แƒ‘แƒ— แƒแƒ› แƒ“แƒ˜แƒแƒšแƒแƒ’แƒ˜แƒ“แƒแƒœ แƒ’แƒแƒกแƒ•แƒšแƒแƒก แƒกแƒขแƒแƒœแƒ“แƒแƒ แƒขแƒฃแƒšแƒ˜ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— แƒ“แƒ แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ˜แƒก แƒ’แƒแƒ’แƒ แƒซแƒ”แƒšแƒ”แƒ‘แƒแƒก. แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ›แƒแƒ•แƒ“แƒ˜แƒ•แƒแƒ แƒ— แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒ“แƒแƒœ แƒ“แƒ แƒจแƒ”แƒ•แƒ“แƒ˜แƒ•แƒแƒ แƒ— แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ, แƒกแƒ แƒฃแƒšแƒ“แƒ”แƒ‘แƒ แƒกแƒฃแƒคแƒ—แƒ Ubuntu Live แƒ“แƒ”แƒกแƒ™แƒขแƒแƒžแƒ–แƒ”. แƒ’แƒแƒฎแƒกแƒ”แƒœแƒ˜แƒ— แƒขแƒ”แƒ แƒ›แƒ˜แƒœแƒแƒšแƒ˜ แƒ“แƒ แƒ˜แƒกแƒ”แƒ•:

#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-แƒ˜แƒก แƒ แƒ”แƒ“แƒแƒฅแƒขแƒ˜แƒ แƒ”แƒ‘แƒ

แƒ›แƒแƒ“แƒ˜แƒ— แƒ“แƒแƒแƒ แƒ”แƒ’แƒฃแƒšแƒ˜แƒ แƒแƒ— RAID 6 แƒ›แƒแƒ“แƒฃแƒšแƒ˜แƒก แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒ˜, แƒ แƒแƒ—แƒ แƒฉแƒแƒ แƒ—แƒแƒ— TRIM/DISCARD:

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

แƒ›แƒแƒ“แƒ˜แƒ— แƒชแƒแƒขแƒแƒ—แƒ˜ แƒจแƒ”แƒ•แƒแƒกแƒฌแƒแƒ แƒแƒ— แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ›แƒแƒกแƒ˜แƒ•แƒ”แƒ‘แƒ˜:

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

แฒ แƒ แƒ˜แƒงแƒ แƒ”แƒก..?แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— udev แƒฌแƒ”แƒกแƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒ’แƒแƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒก:

  • แƒ“แƒแƒแƒงแƒ”แƒœแƒ”แƒ— แƒ‘แƒšแƒแƒ™แƒ˜แƒก แƒฅแƒ”แƒจแƒ˜แƒก แƒ–แƒแƒ›แƒ RAID 2020-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒแƒ“แƒ”แƒ™แƒ•แƒแƒขแƒฃแƒ แƒ˜ 6 แƒฌแƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ, แƒ แƒแƒ’แƒแƒ แƒช แƒฉแƒแƒœแƒก, แƒแƒ  แƒจแƒ”แƒชแƒ•แƒšแƒ˜แƒšแƒ Linux-แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ“แƒ แƒแƒ  แƒ˜แƒงแƒ แƒแƒ“แƒ”แƒ™แƒ•แƒแƒขแƒฃแƒ แƒ˜ แƒ“แƒ˜แƒ“แƒ˜ แƒฎแƒœแƒ˜แƒก แƒ’แƒแƒœแƒ›แƒแƒ•แƒšแƒแƒ‘แƒแƒจแƒ˜.
  • แƒ“แƒแƒฏแƒแƒ•แƒจแƒœแƒ”แƒ— แƒ›แƒ˜แƒœแƒ˜แƒ›แƒฃแƒ› IO แƒ›แƒแƒกแƒ˜แƒ•แƒ˜แƒก แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ˜แƒก/แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒฎแƒแƒœแƒ’แƒ แƒซแƒšแƒ˜แƒ•แƒแƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒ”แƒก แƒแƒ แƒ˜แƒก แƒ˜แƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ› แƒแƒ  แƒ“แƒแƒฃแƒจแƒ•แƒแƒก แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ›แƒแƒกแƒ˜แƒ•แƒ”แƒ‘แƒ˜ แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒฅแƒ•แƒ”แƒจ แƒ›แƒแƒ แƒแƒ“แƒ˜แƒฃแƒšแƒ˜ แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒแƒจแƒ˜.
  • แƒจแƒ”แƒ–แƒฆแƒฃแƒ“แƒ”แƒ— แƒ›แƒแƒฅแƒกแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ IO แƒ›แƒแƒกแƒ˜แƒ•แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ˜แƒก/แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒ“แƒ แƒแƒก. แƒ”แƒก แƒแƒฃแƒชแƒ˜แƒšแƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒ˜แƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ› SSD RAID-แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ/แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒ แƒแƒ  แƒ“แƒแƒแƒ‘แƒ แƒ™แƒแƒšแƒแƒก แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ“แƒ˜แƒกแƒ™แƒ”แƒ‘แƒ˜. แƒ”แƒก แƒ’แƒแƒœแƒกแƒแƒ™แƒฃแƒ—แƒ แƒ”แƒ‘แƒ˜แƒ— แƒ”แƒฎแƒ”แƒ‘แƒ NVMe-แƒก. (แƒ’แƒแƒฎแƒกแƒแƒ•แƒก แƒ แƒแƒ“แƒ˜แƒแƒขแƒแƒ แƒ˜? แƒแƒ  แƒ•แƒฎแƒฃแƒ›แƒ แƒแƒ‘แƒ“แƒ˜.)
  • แƒแƒ™แƒ แƒซแƒแƒšแƒ”แƒ— แƒ“แƒ˜แƒกแƒ™แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒฉแƒ”แƒ แƒ”แƒ‘แƒ spindle rotation (HDD) APM-แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ— แƒ“แƒ แƒ“แƒแƒแƒงแƒ”แƒœแƒ”แƒ— แƒซแƒ˜แƒšแƒ˜แƒก แƒ“แƒ แƒ แƒ“แƒ˜แƒกแƒ™แƒ˜แƒก แƒ™แƒแƒœแƒขแƒ แƒแƒšแƒ”แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก 7 แƒกแƒแƒแƒ—แƒแƒ›แƒ“แƒ”. แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒแƒ“ แƒ’แƒแƒ›แƒแƒ แƒ—แƒแƒ— APM, แƒ—แƒฃ แƒ—แƒฅแƒ•แƒ”แƒœแƒก แƒ“แƒ˜แƒกแƒ™แƒ”แƒ‘แƒก แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒแƒ— แƒแƒ›แƒ˜แƒก แƒ’แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ (-B 255). แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ˜แƒ—, แƒ“แƒ˜แƒกแƒ™แƒ”แƒ‘แƒ˜ แƒ’แƒแƒฉแƒ”แƒ แƒ“แƒ”แƒ‘แƒ แƒฎแƒฃแƒ—แƒ˜ แƒฌแƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’. แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ OS-แƒก แƒกแƒฃแƒ แƒก แƒ“แƒ˜แƒกแƒ™แƒ˜แƒก แƒฅแƒ”แƒจแƒ˜แƒก แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ, แƒ“แƒ˜แƒกแƒ™แƒ”แƒ‘แƒ˜ แƒ˜แƒกแƒ”แƒ• แƒ“แƒแƒขแƒ แƒ˜แƒแƒšแƒ“แƒ”แƒ‘แƒ แƒ“แƒ แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ—แƒแƒ•แƒ˜แƒ“แƒแƒœ แƒ“แƒแƒ˜แƒฌแƒงแƒ”แƒ‘แƒ. แƒ“แƒ˜แƒกแƒ™แƒ”แƒ‘แƒก แƒแƒฅแƒ•แƒ— แƒจแƒขแƒ แƒ˜แƒฎแƒ”แƒ‘แƒ˜แƒก แƒ‘แƒ แƒฃแƒœแƒ•แƒ˜แƒก แƒจแƒ”แƒ–แƒฆแƒฃแƒ“แƒฃแƒšแƒ˜ แƒ›แƒแƒฅแƒกแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ. แƒแƒกแƒ”แƒ—แƒ˜ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜ แƒชแƒ˜แƒ™แƒšแƒ˜ แƒแƒ“แƒ•แƒ˜แƒšแƒแƒ“ แƒ™แƒšแƒแƒ•แƒก แƒ—แƒฅแƒ•แƒ”แƒœแƒก แƒ“แƒ˜แƒกแƒ™แƒ”แƒ‘แƒก แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒฌแƒ”แƒšแƒ˜แƒฌแƒแƒ“แƒจแƒ˜. แƒงแƒ•แƒ”แƒšแƒ แƒ“แƒ˜แƒกแƒ™แƒ˜ แƒแƒ  แƒ’แƒแƒœแƒ˜แƒชแƒ“แƒ˜แƒก แƒแƒ›แƒแƒก, แƒ›แƒแƒ’แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœแƒ˜ แƒแƒ แƒ˜แƒก "แƒšแƒ”แƒžแƒขแƒแƒžแƒ˜", แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒ˜ แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒ˜ แƒžแƒแƒ แƒแƒ›แƒ”แƒขแƒ แƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒช RAID-แƒก แƒ›แƒ˜แƒœแƒ˜-MAID-แƒก แƒฐแƒ’แƒแƒ•แƒก.
  • Readahead-แƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒ“แƒ˜แƒกแƒ™แƒ”แƒ‘แƒ–แƒ” (แƒ›แƒ‘แƒ แƒฃแƒœแƒแƒ•แƒ˜) 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

แฒ แƒแƒขแƒแƒ› แƒแƒ แƒ˜แƒก, แƒ แƒแƒ›..?แƒฉแƒ•แƒ”แƒœ แƒ›แƒแƒ•แƒซแƒ”แƒ‘แƒœแƒ˜แƒ— /boot แƒ“แƒแƒœแƒแƒงแƒแƒคแƒ˜ UUID-แƒ˜แƒ—. แƒ›แƒแƒกแƒ˜แƒ•แƒ˜แƒก แƒ“แƒแƒกแƒแƒฎแƒ”แƒšแƒ”แƒ‘แƒ แƒ—แƒ”แƒแƒ แƒ˜แƒฃแƒšแƒแƒ“ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒจแƒ”แƒ˜แƒชแƒ•แƒแƒšแƒแƒก.

แƒฉแƒ•แƒ”แƒœ แƒ›แƒแƒ•แƒซแƒ”แƒ‘แƒœแƒ˜แƒ— แƒ“แƒแƒ แƒฉแƒ”แƒœแƒ˜แƒš แƒกแƒ”แƒฅแƒชแƒ˜แƒ”แƒ‘แƒก LVM แƒกแƒแƒฎแƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฎแƒ”แƒ“แƒ•แƒ˜แƒ— /dev/mapper/vg-lv แƒœแƒแƒขแƒแƒชแƒ˜แƒแƒจแƒ˜, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒ˜แƒ“แƒ”แƒœแƒขแƒ˜แƒคแƒ˜แƒชแƒ˜แƒ แƒ”แƒ‘แƒ”แƒœ แƒ“แƒแƒœแƒแƒงแƒแƒคแƒ”แƒ‘แƒก แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒชแƒแƒšแƒกแƒแƒฎแƒแƒ“.

แƒฉแƒ•แƒ”แƒœ แƒแƒ  แƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— UUID-แƒก LVM-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ“แƒ’แƒแƒœ LVM แƒขแƒแƒ›แƒ”แƒ‘แƒ˜แƒก UUID แƒ“แƒ แƒ›แƒแƒ—แƒ˜ แƒกแƒœแƒ”แƒžแƒจแƒแƒขแƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒงแƒแƒก แƒ˜แƒ’แƒ˜แƒ•แƒ”.แƒ“แƒแƒแƒ›แƒแƒœแƒขแƒแƒŸแƒ” /dev/mapper/root-root.. แƒแƒ แƒฏแƒ”แƒ ?แƒ“แƒ˜แƒแƒฎ. แƒ–แƒฃแƒกแƒขแƒแƒ“. BTRFS-แƒ˜แƒก แƒ—แƒ•แƒ˜แƒกแƒ”แƒ‘แƒ. แƒ”แƒก แƒคแƒแƒ˜แƒšแƒฃแƒ แƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒฏแƒ”แƒ แƒ›แƒ” แƒ“แƒแƒ›แƒแƒœแƒขแƒแƒŸแƒ“แƒ”แƒก แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒฅแƒ•แƒ”แƒ•แƒแƒšแƒ”แƒ‘แƒ˜แƒ—.

แƒ˜แƒ’แƒ˜แƒ•แƒ” แƒ›แƒแƒฎแƒแƒกแƒ˜แƒแƒ—แƒ”แƒ‘แƒšแƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒ’แƒ˜แƒ แƒฉแƒ”แƒ•แƒ— แƒแƒ แƒแƒกแƒแƒ“แƒ”แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒแƒ— LVM แƒแƒฅแƒขแƒ˜แƒฃแƒ แƒ˜ 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

แฒ แƒ แƒ˜แƒงแƒ แƒ”แƒก..?แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ•แƒแƒแƒฅแƒขแƒ˜แƒฃแƒ แƒ”แƒ— LVM แƒ—แƒฎแƒ”แƒšแƒ˜ แƒแƒฃแƒ–แƒ”แƒ‘แƒ˜แƒก แƒแƒ•แƒขแƒแƒ›แƒแƒขแƒฃแƒ แƒ˜ แƒ’แƒแƒคแƒแƒ แƒ—แƒแƒ”แƒ‘แƒ แƒ“แƒแƒ™แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒ˜แƒ•แƒ แƒชแƒ˜แƒก 90%-แƒ›แƒ“แƒ” แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ˜แƒก 5%-แƒ˜แƒ—.

แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ•แƒ–แƒแƒ แƒ“แƒ”แƒ— แƒฅแƒ”แƒจแƒ˜ แƒ‘แƒšแƒแƒ™แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒฅแƒกแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ LVM แƒฅแƒ”แƒจแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒฃแƒจแƒแƒšแƒ”แƒ— แƒฎแƒ”แƒšแƒ˜ LVM-แƒก LVM แƒขแƒแƒ›แƒ”แƒ‘แƒ˜แƒก (PV) แƒ›แƒแƒซแƒ˜แƒ”แƒ‘แƒแƒจแƒ˜:

  • แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก LVM แƒฅแƒ”แƒจแƒก (cdata)
  • แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜ แƒฅแƒ”แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ LVM แƒฅแƒ”แƒจแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— แƒฅแƒ”แƒจแƒ˜แƒก แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒก แƒแƒ•แƒšแƒ˜แƒ— (_corig). แƒแƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ—แƒแƒ•แƒแƒ“ แƒฅแƒ”แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ แƒ™แƒ•แƒšแƒแƒ• แƒกแƒ™แƒแƒœแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒฅแƒ”แƒจแƒ˜แƒก แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ— (แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ ).
  • แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ”แƒ‘แƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก LVM แƒฅแƒ”แƒจแƒ˜ แƒ›แƒ”แƒขแƒแƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒก (cmeta)
  • แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ VG-แƒจแƒ˜ แƒกแƒแƒฎแƒ”แƒšแƒ˜แƒก แƒกแƒฃแƒ แƒแƒ—แƒ”แƒ‘แƒ˜แƒ—. แƒแƒฅ แƒ’แƒ•แƒ”แƒฅแƒœแƒ”แƒ‘แƒ แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒฅแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒ“แƒ˜แƒกแƒ™แƒ˜แƒก แƒ’แƒแƒ›แƒแƒกแƒแƒฎแƒฃแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒแƒ  แƒ’แƒ•แƒ˜แƒœแƒ“แƒ, แƒ แƒแƒ› แƒฐแƒแƒกแƒขแƒ–แƒ” LVM-แƒ›แƒ แƒ’แƒแƒแƒแƒฅแƒขแƒ˜แƒฃแƒ แƒแƒก แƒกแƒขแƒฃแƒ›แƒ แƒ˜แƒก OS-แƒ˜แƒก แƒ™แƒฃแƒ—แƒ•แƒœแƒ˜แƒšแƒ˜ แƒขแƒแƒ›แƒ”แƒ‘แƒ˜.
  • แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ VG-แƒจแƒ˜ แƒกแƒแƒฎแƒ”แƒšแƒ˜แƒก แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ˜แƒ—. แƒแƒฅ แƒ’แƒ•แƒ”แƒฅแƒœแƒ”แƒ‘แƒ แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒฅแƒแƒœแƒ˜แƒก แƒกแƒฃแƒ แƒแƒ—แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ”แƒ‘แƒ˜.
  • แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ, แƒ แƒแƒ›แƒšแƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒ˜ แƒ›แƒ—แƒแƒ•แƒ แƒ“แƒ”แƒ‘แƒ โ€žgpvโ€œ-แƒ˜แƒ— (แƒกแƒขแƒฃแƒ›แƒ แƒ”แƒ‘แƒ˜แƒก แƒคแƒ˜แƒ–แƒ˜แƒ™แƒฃแƒ แƒ˜ แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ)

แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ•แƒแƒแƒฅแƒขแƒ˜แƒฃแƒ แƒ”แƒ— DISCARD แƒ›แƒฎแƒแƒ แƒ“แƒแƒญแƒ”แƒ แƒ LVM VG-แƒ–แƒ” แƒ—แƒแƒ•แƒ˜แƒกแƒฃแƒคแƒแƒšแƒ˜ แƒกแƒ˜แƒ•แƒ แƒชแƒ˜แƒก แƒ’แƒแƒ—แƒแƒ•แƒ˜แƒกแƒฃแƒคแƒšแƒ”แƒ‘แƒ˜แƒกแƒแƒก. แฒคแƒ แƒ—แƒฎแƒ˜แƒšแƒแƒ“ แƒ˜แƒงแƒแƒ•แƒ˜. แƒ”แƒก แƒกแƒแƒ™แƒ›แƒแƒแƒ“ แƒจแƒ แƒแƒ›แƒแƒขแƒ”แƒ•แƒแƒ“แƒก แƒ’แƒแƒฎแƒ“แƒ˜แƒก SSD-แƒ–แƒ” LV-แƒ”แƒ‘แƒ˜แƒก แƒฌแƒแƒจแƒšแƒแƒก. แƒ”แƒก แƒ’แƒแƒœแƒกแƒแƒ™แƒฃแƒ—แƒ แƒ”แƒ‘แƒ˜แƒ— แƒ”แƒฎแƒ”แƒ‘แƒ 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..?แƒ–แƒ”แƒ“แƒ›แƒ”แƒขแƒ˜ แƒ“แƒแƒ›แƒแƒฃแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒšแƒแƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒกแƒแƒ—แƒแƒ›แƒแƒจแƒ แƒฎแƒ”แƒšแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒ˜แƒก แƒแƒ  แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒกแƒฌแƒแƒ แƒแƒ“, แƒ—แƒฃ แƒ”แƒ แƒ—-แƒ”แƒ แƒ—แƒ˜ RAID แƒแƒ แƒ˜แƒก แƒ“แƒ”แƒ’แƒ แƒแƒ“แƒ˜แƒ แƒ”แƒ‘แƒฃแƒš แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒแƒจแƒ˜. แƒ˜แƒก แƒชแƒ“แƒ˜แƒšแƒแƒ‘แƒก แƒ›แƒแƒซแƒ”แƒ‘แƒœแƒแƒก แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒฃแƒšแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ แƒ“แƒแƒœแƒแƒงแƒแƒคแƒ”แƒ‘แƒ–แƒ”, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ  แƒ›แƒแƒœแƒฅแƒแƒœแƒ”แƒ‘แƒจแƒ˜, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ”แƒœ แƒแƒ› แƒแƒžแƒแƒ แƒแƒขแƒฃแƒ แƒแƒ–แƒ”.

แƒ—แƒฃ แƒ“แƒแƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ—, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ“แƒแƒขแƒแƒ•แƒแƒ—, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ’แƒแƒ˜แƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒ”แƒ— แƒงแƒแƒ•แƒ”แƒšแƒ˜แƒ•แƒ” แƒ–แƒ”แƒ›แƒแƒ—แƒฅแƒ›แƒฃแƒšแƒ˜. แƒ’แƒ˜แƒ แƒฉแƒ”แƒ•แƒ— แƒ›แƒแƒซแƒ”แƒ‘แƒœแƒแƒ— แƒ แƒ”แƒชแƒ”แƒžแƒขแƒ”แƒ‘แƒ˜ แƒ‘แƒแƒ แƒแƒขแƒ˜ แƒฎแƒ”แƒšแƒ”แƒ‘แƒ˜แƒกแƒ’แƒแƒœ แƒ—แƒแƒ•แƒ˜แƒก แƒ“แƒแƒกแƒแƒฆแƒฌแƒ”แƒ•แƒแƒ“.

แƒแƒ›แƒ˜แƒ— แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ•แƒแƒกแƒ แƒฃแƒšแƒ”แƒ— แƒกแƒแƒฌแƒงแƒ˜แƒกแƒ˜ แƒ˜แƒœแƒกแƒขแƒแƒšแƒแƒชแƒ˜แƒ. แƒ“แƒ แƒแƒ แƒ’แƒแƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒแƒ— แƒแƒฎแƒšแƒแƒ“ แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒš OS-แƒจแƒ˜. แƒแƒ  แƒ“แƒแƒ’แƒแƒ•แƒ˜แƒฌแƒงแƒ“แƒ”แƒ— แƒฉแƒแƒ›แƒขแƒ•แƒ˜แƒ แƒ—แƒแƒ•แƒ˜ Live CD/USB แƒแƒ›แƒแƒฆแƒ”แƒ‘แƒ.

#exit
#reboot

แƒแƒ˜แƒ แƒฉแƒ˜แƒ”แƒ— แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ SATA SSD, แƒ แƒแƒ’แƒแƒ แƒช แƒฉแƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ.

LVM SATA SSD-แƒ–แƒ”

แƒแƒ› แƒ”แƒขแƒแƒžแƒ–แƒ”, แƒฉแƒ•แƒ”แƒœ แƒฃแƒ™แƒ•แƒ” แƒฉแƒแƒ•แƒขแƒ•แƒ˜แƒ แƒ—แƒ”แƒ— แƒแƒฎแƒแƒš OS-แƒจแƒ˜, แƒ“แƒแƒ•แƒแƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ— แƒฅแƒกแƒ”แƒšแƒ˜, แƒ’แƒแƒ•แƒฎแƒกแƒ”แƒœแƒ˜แƒ— แƒขแƒ”แƒ แƒ›แƒ˜แƒœแƒแƒšแƒ˜แƒก แƒ”แƒ›แƒฃแƒšแƒแƒขแƒแƒ แƒ˜ แƒ“แƒ แƒ’แƒแƒ•แƒฃแƒจแƒ•แƒ˜แƒ—:

#sudo bash

แฒ’แƒแƒ•แƒแƒ’แƒ แƒซแƒ”แƒšแƒแƒ—.

แƒ›แƒแƒกแƒ˜แƒ•แƒ˜แƒก โ€žแƒ˜แƒœแƒ˜แƒชแƒ˜แƒแƒšแƒ˜แƒ–แƒแƒชแƒ˜แƒโ€œ SATA SSD-แƒ“แƒแƒœ:

#blkdiscard /dev/md2

แƒ—แƒฃ แƒ”แƒก แƒแƒ  แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก, แƒ›แƒแƒจแƒ˜แƒœ แƒกแƒชแƒแƒ“แƒ”แƒ—:

#blkdiscard --step 65536 /dev/md2
แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— LVM VG SATA SSD-แƒ–แƒ”:

#pvcreate /dev/md2
#vgcreate data /dev/md2

แƒ แƒแƒขแƒแƒ› แƒกแƒฎแƒ•แƒ VG..?แƒกแƒ˜แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒ”แƒจแƒ˜, แƒฉแƒ•แƒ”แƒœ แƒฃแƒ™แƒ•แƒ” แƒ’แƒ•แƒแƒฅแƒ•แƒก VG แƒกแƒแƒฎแƒ”แƒšแƒแƒ“ root. แƒ แƒแƒขแƒแƒ› แƒแƒ  แƒ“แƒแƒแƒ›แƒแƒขแƒ”แƒ— แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ”แƒ แƒ— VG-แƒจแƒ˜?

แƒ—แƒฃ VG-แƒจแƒ˜ แƒแƒ แƒ˜แƒก แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” PV, แƒ›แƒแƒจแƒ˜แƒœ แƒ˜แƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ› VG แƒกแƒฌแƒแƒ แƒแƒ“ แƒ’แƒแƒแƒฅแƒขแƒ˜แƒฃแƒ แƒ“แƒ”แƒก, แƒงแƒ•แƒ”แƒšแƒ PV แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒฌแƒแƒ แƒ›แƒแƒ“แƒ’แƒ”แƒœแƒ˜แƒšแƒ˜ (แƒแƒœแƒšแƒแƒ˜แƒœ). แƒ’แƒแƒ›แƒแƒœแƒแƒ™แƒšแƒ˜แƒกแƒ˜ แƒแƒ แƒ˜แƒก LVM RAID, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒœแƒ–แƒ แƒแƒฎ แƒแƒ  แƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ—.

แƒฉแƒ•แƒ”แƒœ แƒซแƒแƒšแƒ˜แƒแƒœ แƒ’แƒ•แƒกแƒฃแƒ แƒก, แƒ แƒแƒ› RAID 6-แƒ˜แƒก แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒ›แƒ” แƒ›แƒแƒกแƒ˜แƒ•แƒ–แƒ” แƒฌแƒแƒ แƒฃแƒ›แƒแƒขแƒ”แƒ‘แƒšแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ (แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒฃแƒšแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ™แƒแƒ แƒ’แƒ•แƒ), แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒฃแƒšแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ แƒœแƒแƒ แƒ›แƒแƒšแƒฃแƒ แƒแƒ“ แƒฉแƒแƒ˜แƒขแƒ•แƒ˜แƒ แƒ—แƒแƒก แƒ“แƒ แƒ›แƒแƒ’แƒ•แƒชแƒ”แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ˜แƒก แƒ’แƒแƒ“แƒแƒญแƒ แƒ˜แƒก แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ.

แƒแƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก, แƒแƒ‘แƒกแƒขแƒ แƒแƒฅแƒชแƒ˜แƒ˜แƒก แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒ“แƒแƒœแƒ”แƒ–แƒ” แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ›แƒแƒ•แƒงแƒแƒคแƒ— แƒคแƒ˜แƒ–แƒ˜แƒ™แƒฃแƒ  "แƒ›แƒ”แƒ“แƒ˜แƒแƒก" แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒขแƒ˜แƒžแƒก แƒชแƒแƒšแƒ™แƒ” VG-แƒจแƒ˜.

แƒ›แƒ”แƒชแƒœแƒ˜แƒ”แƒ แƒฃแƒšแƒแƒ“ แƒ แƒแƒ› แƒ•แƒ—แƒฅแƒ•แƒแƒ—, แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ RAID แƒ›แƒแƒกแƒ˜แƒ•แƒ˜ แƒ”แƒ™แƒฃแƒ—แƒ•แƒœแƒ˜แƒก แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ "แƒกแƒแƒœแƒ“แƒแƒแƒ‘แƒ˜แƒก แƒ“แƒแƒ›แƒ”แƒœแƒ”แƒ‘แƒก". แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒ  แƒฃแƒœแƒ“แƒ แƒจแƒ”แƒฅแƒ›แƒœแƒแƒ— แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ—แƒ˜ แƒกแƒแƒ”แƒ แƒ—แƒ แƒ›แƒแƒ แƒชแƒฎแƒ˜แƒก แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ˜ แƒ›แƒแƒ—แƒ—แƒ•แƒ˜แƒก แƒ”แƒ แƒ— VG-แƒจแƒ˜ แƒฉแƒแƒงแƒ แƒ˜แƒ—.

LVM-แƒ˜แƒก แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒ โ€žแƒขแƒ”แƒฅแƒœแƒ˜แƒ™แƒ˜แƒกโ€œ แƒ“แƒแƒœแƒ”แƒ–แƒ” แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ›แƒแƒ’แƒ•แƒชแƒ”แƒ›แƒก แƒ—แƒ•แƒ˜แƒ—แƒœแƒ”แƒ‘แƒฃแƒ แƒแƒ“ แƒ“แƒแƒ•แƒญแƒ แƒแƒ— แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ RAID แƒ›แƒแƒกแƒ˜แƒ•แƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒ˜ แƒ›แƒแƒ—แƒ˜ แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒ’แƒ–แƒ˜แƒ— แƒ™แƒแƒ›แƒ‘แƒ˜แƒœแƒแƒชแƒ˜แƒ˜แƒ—. แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“ - แƒ’แƒแƒฃแƒจแƒ•แƒ˜แƒ— แƒ”แƒ แƒ—แƒ“แƒ แƒแƒฃแƒšแƒแƒ“ bcache + LVM thin, bcache + BTRFS, LVM cache + LVM thin, แƒ แƒ—แƒฃแƒšแƒ˜ ZFS แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ แƒฅแƒ”แƒจแƒ”แƒ‘แƒ˜แƒ—, แƒแƒœ แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒกแƒฎแƒ•แƒ แƒฏแƒแƒฏแƒแƒฎแƒ”แƒ—แƒฃแƒ แƒ˜ แƒœแƒแƒ แƒ”แƒ•แƒ˜, แƒ แƒแƒ› แƒกแƒชแƒแƒ“แƒแƒ— แƒ“แƒ แƒจแƒ”แƒ•แƒแƒ“แƒแƒ แƒแƒ— แƒ”แƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜.

"แƒขแƒ”แƒฅแƒœแƒ˜แƒ™แƒ˜แƒก" แƒ“แƒแƒœแƒ”แƒ–แƒ”, แƒฉแƒ•แƒ”แƒœ แƒแƒ  แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— แƒกแƒฎแƒ•แƒ แƒ™แƒแƒ แƒ’ แƒซแƒ•แƒ”แƒš "แƒกแƒฅแƒ”แƒš" LVM แƒขแƒแƒ›แƒ”แƒ‘แƒก. แƒแƒ› แƒฌแƒ”แƒกแƒ˜แƒก แƒ’แƒแƒ›แƒแƒœแƒแƒ™แƒšแƒ˜แƒกแƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒงแƒแƒก แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒ“แƒแƒœแƒแƒงแƒแƒคแƒ˜.

แƒ•แƒคแƒ˜แƒฅแƒ แƒแƒ‘, แƒแƒ› แƒ›แƒแƒ›แƒ”แƒœแƒขแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ‘แƒ”แƒ•แƒ แƒ›แƒ แƒ›แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ”แƒšแƒ›แƒ แƒฃแƒ™แƒ•แƒ” แƒ“แƒแƒ˜แƒฌแƒงแƒ แƒ แƒแƒฆแƒแƒชแƒ˜แƒก แƒ”แƒญแƒ•แƒ˜ แƒ‘แƒฃแƒ“แƒ” แƒ—แƒแƒฏแƒ˜แƒœแƒแƒ–แƒ”.

LVM SATA HDD-แƒ–แƒ”

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

แƒ˜แƒกแƒ”แƒ• แƒแƒฎแƒแƒšแƒ˜ VG..?แƒฉแƒ•แƒ”แƒœ แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒแƒ“ แƒ’แƒ•แƒกแƒฃแƒ แƒก, แƒ แƒแƒ› แƒ—แƒฃ แƒ“แƒ˜แƒกแƒ™แƒ˜แƒก แƒ›แƒแƒกแƒ˜แƒ•แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ•แƒ”แƒ  แƒ›แƒแƒฎแƒ”แƒ แƒฎแƒ“แƒ”แƒ‘แƒ, แƒฉแƒ•แƒ”แƒœแƒ˜ แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒฃแƒšแƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ แƒ’แƒแƒœแƒแƒ’แƒ แƒซแƒแƒ‘แƒก แƒœแƒแƒ แƒ›แƒแƒšแƒฃแƒ แƒแƒ“ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒแƒก, แƒฎแƒแƒšแƒ แƒฉแƒ•แƒ”แƒฃแƒšแƒ”แƒ‘แƒ˜แƒกแƒแƒ›แƒ”แƒ‘แƒ  แƒจแƒ”แƒ˜แƒœแƒแƒ แƒฉแƒฃแƒœแƒ”แƒ‘แƒก แƒฌแƒ•แƒ“แƒแƒ›แƒแƒก แƒแƒ แƒ-แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ–แƒ”. แƒแƒ›แƒ˜แƒขแƒแƒ›, VG แƒแƒฅแƒขแƒ˜แƒ•แƒแƒชแƒ˜แƒ˜แƒก แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ—แƒแƒ•แƒ˜แƒ“แƒแƒœ แƒแƒกแƒแƒชแƒ˜แƒšแƒ”แƒ‘แƒšแƒแƒ“, แƒฉแƒ•แƒ”แƒœ แƒ•แƒฅแƒ›แƒœแƒ˜แƒ— แƒชแƒแƒšแƒ™แƒ” VG-แƒก.

LVM แƒฅแƒ”แƒจแƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ

แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— LV NVMe RAID 1-แƒ–แƒ”, แƒ แƒแƒ› แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒแƒ— แƒ แƒแƒ’แƒแƒ แƒช แƒฅแƒ”แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ.

#lvcreate -L 70871154688B --name cache root

แƒ แƒแƒขแƒแƒ› แƒแƒ แƒ˜แƒก แƒแƒกแƒ” แƒชแƒแƒขแƒ...แƒคแƒแƒฅแƒขแƒ˜แƒ, แƒ แƒแƒ› แƒฉแƒ•แƒ”แƒœแƒก NVMe SSD-แƒ”แƒ‘แƒก แƒแƒกแƒ”แƒ•แƒ” แƒแƒฅแƒ•แƒ— SLC แƒฅแƒ”แƒจแƒ˜. 4 แƒ’แƒ˜แƒ’แƒแƒ‘แƒแƒ˜แƒขแƒ˜ "แƒ—แƒแƒ•แƒ˜แƒกแƒฃแƒคแƒแƒšแƒ˜" แƒ“แƒ 18 แƒ’แƒ˜แƒ’แƒแƒ‘แƒแƒ˜แƒขแƒ˜ แƒ“แƒ˜แƒœแƒแƒ›แƒ˜แƒฃแƒ แƒ˜ 3-แƒ‘แƒ˜แƒขแƒ˜แƒแƒœแƒ˜ MLC-แƒจแƒ˜ แƒ“แƒแƒ™แƒแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ—แƒแƒ•แƒ˜แƒกแƒฃแƒคแƒแƒšแƒ˜ แƒกแƒ˜แƒ•แƒ แƒชแƒ˜แƒก แƒ’แƒแƒ›แƒ. แƒแƒ› แƒฅแƒ”แƒจแƒ˜แƒก แƒแƒ›แƒแƒฌแƒฃแƒ แƒ•แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, NVMe SSD-แƒ”แƒ‘แƒ˜ แƒแƒ  แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ‘แƒ”แƒ•แƒ แƒแƒ“ แƒฃแƒคแƒ แƒ แƒกแƒฌแƒ แƒแƒคแƒ˜ แƒ•แƒ˜แƒ“แƒ แƒ” แƒฉแƒ•แƒ”แƒœแƒ˜ SATA SSD แƒฅแƒ”แƒจแƒ˜แƒ—. แƒกแƒ˜แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒ”แƒจแƒ˜, แƒแƒ› แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ˜แƒ—, แƒฉแƒ•แƒ”แƒœแƒ—แƒ•แƒ˜แƒก แƒแƒ–แƒ แƒ˜ แƒแƒ  แƒแƒฅแƒ•แƒก, แƒ แƒแƒ› LVM แƒฅแƒ”แƒจแƒ˜ แƒ“แƒแƒœแƒแƒงแƒแƒคแƒ˜ แƒ’แƒแƒ•แƒฎแƒแƒ“แƒแƒ— แƒ‘แƒ”แƒ•แƒ แƒแƒ“ แƒฃแƒคแƒ แƒ แƒ“แƒ˜แƒ“แƒ˜ แƒ•แƒ˜แƒ“แƒ แƒ” NVMe แƒ“แƒ˜แƒกแƒ™แƒ˜แƒก SLC แƒฅแƒ”แƒจแƒ˜แƒก แƒ–แƒแƒ›แƒแƒ–แƒ” แƒแƒ แƒฏแƒ”แƒ  แƒ›แƒ”แƒขแƒ˜. แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ NVMe แƒ“แƒ˜แƒกแƒ™แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒแƒ•แƒขแƒแƒ แƒ˜ แƒ’แƒแƒœแƒ˜แƒ•แƒ แƒฃแƒšแƒแƒ“ แƒ›แƒ˜แƒ˜แƒฉแƒœแƒ”แƒ•แƒก 32-64 แƒ’แƒ˜แƒ’แƒแƒ‘แƒแƒ˜แƒขแƒ˜แƒแƒœแƒ˜ แƒฅแƒ”แƒจแƒ˜แƒก แƒ“แƒแƒ›แƒ–แƒแƒ“แƒ”แƒ‘แƒแƒก.

แƒ“แƒแƒœแƒแƒงแƒแƒคแƒ˜แƒก แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜ แƒ–แƒแƒ›แƒ แƒกแƒแƒญแƒ˜แƒ แƒแƒ 64 แƒ’แƒ˜แƒ’แƒแƒ‘แƒแƒ˜แƒขแƒ˜ แƒฅแƒ”แƒจแƒ˜แƒก, แƒฅแƒ”แƒจแƒ˜แƒก แƒ›แƒ”แƒขแƒแƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒ›แƒ”แƒขแƒแƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ˜แƒก แƒแƒ แƒ’แƒแƒœแƒ˜แƒ–แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒ’แƒแƒ แƒ“แƒ แƒแƒ›แƒ˜แƒกแƒ, แƒ›แƒ” แƒแƒฆแƒ•แƒœแƒ˜แƒจแƒœแƒแƒ•, แƒ แƒแƒ› แƒ‘แƒ˜แƒœแƒซแƒฃแƒ แƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, LVM แƒ›แƒแƒœแƒ˜แƒจแƒœแƒแƒ•แƒก แƒ›แƒ—แƒ”แƒš แƒฅแƒ”แƒจแƒก แƒญแƒฃแƒญแƒงแƒ˜แƒแƒœแƒแƒ“ แƒ“แƒ แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒ“แƒ”แƒ‘แƒ. แƒฃแƒคแƒ แƒ แƒ›แƒ”แƒขแƒ˜แƒช, แƒ”แƒก แƒ’แƒแƒœแƒ›แƒ”แƒแƒ แƒ“แƒ”แƒ‘แƒ แƒงแƒแƒ•แƒ”แƒš แƒฏแƒ”แƒ แƒ–แƒ”, แƒ แƒแƒ“แƒ”แƒกแƒแƒช lvchange แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒแƒ› แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒแƒ–แƒ”, แƒกแƒแƒœแƒแƒ› แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒแƒ  แƒ’แƒแƒ“แƒแƒ˜แƒขแƒ•แƒ˜แƒ แƒ—แƒ”แƒ‘แƒ. แƒแƒ›แƒ˜แƒขแƒแƒ›, แƒ’แƒ˜แƒ แƒฉแƒ”แƒ•แƒ— แƒ“แƒแƒฃแƒงแƒแƒ•แƒœแƒ”แƒ‘แƒšแƒ˜แƒ• แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒจแƒ”แƒฅแƒ›แƒœแƒแƒ— แƒฅแƒ”แƒจแƒ˜ แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒ˜ แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—.

แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— LV SATA RAID 6-แƒ–แƒ”, แƒ แƒแƒ› แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒแƒ— แƒ แƒแƒ’แƒแƒ แƒช แƒฅแƒ”แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ.

#lvcreate -L 3298543271936B --name cache data

แƒ แƒแƒขแƒแƒ› แƒ›แƒฎแƒแƒšแƒแƒ“ แƒกแƒแƒ›แƒ˜ แƒขแƒ”แƒ แƒแƒ‘แƒแƒ˜แƒขแƒ˜..?แƒแƒกแƒ” แƒ แƒแƒ›, แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒ— SATA SSD RAID 6 แƒกแƒฎแƒ•แƒ แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒฅแƒ”แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒ˜แƒ•แƒ แƒชแƒ˜แƒก แƒ–แƒแƒ›แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ˜แƒ–แƒแƒ แƒ“แƒแƒก แƒ“แƒ˜แƒœแƒแƒ›แƒ˜แƒฃแƒ แƒแƒ“, แƒคแƒ แƒ”แƒœแƒ˜แƒก แƒ“แƒ แƒแƒก, แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒจแƒ”แƒฉแƒ”แƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”. แƒแƒ›แƒ˜แƒกแƒแƒ—แƒ•แƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒแƒ แƒ“แƒ แƒแƒ”แƒ‘แƒ˜แƒ— แƒจแƒ”แƒแƒฉแƒ”แƒ แƒแƒ— แƒ“แƒ แƒฎแƒ”แƒšแƒแƒฎแƒšแƒ แƒฉแƒแƒ แƒ—แƒแƒ— แƒฅแƒ”แƒจแƒ˜, แƒ›แƒแƒ’แƒ แƒแƒ› LVM-แƒฅแƒ”แƒจแƒ˜แƒก แƒ’แƒแƒ›แƒแƒ แƒฉแƒ”แƒฃแƒšแƒ˜ แƒฃแƒžแƒ˜แƒ แƒแƒขแƒ”แƒกแƒแƒ‘แƒ, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, bcache-แƒกแƒ—แƒแƒœ แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒ— แƒแƒ แƒ˜แƒก แƒ˜แƒก, แƒ แƒแƒ› แƒ”แƒก แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ™แƒ”แƒ—แƒ“แƒ”แƒก แƒคแƒ แƒ”แƒœแƒ˜แƒก แƒ“แƒ แƒแƒก.

แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— แƒแƒฎแƒแƒšแƒ˜ VG แƒฅแƒ”แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

#pvcreate /dev/root/cache
#pvcreate /dev/data/cache
#vgcreate cache /dev/root/cache /dev/data/cache

แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— LV แƒฅแƒ”แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒš แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒแƒ–แƒ”.

#lvcreate -L 3298539077632B --name cachedata cache /dev/data/cache

แƒแƒฅ แƒฉแƒ•แƒ”แƒœ แƒ›แƒแƒจแƒ˜แƒœแƒ•แƒ” แƒ“แƒแƒ•แƒ˜แƒ™แƒแƒ•แƒ”แƒ— แƒงแƒ•แƒ”แƒšแƒ แƒ—แƒแƒ•แƒ˜แƒกแƒฃแƒคแƒแƒšแƒ˜ แƒแƒ“แƒ’แƒ˜แƒšแƒ˜ /dev/data/cache-แƒ–แƒ” แƒ˜แƒกแƒ”, แƒ แƒแƒ› แƒงแƒ•แƒ”แƒšแƒ แƒกแƒฎแƒ•แƒ แƒกแƒแƒญแƒ˜แƒ แƒ แƒ“แƒแƒœแƒแƒงแƒแƒคแƒ˜ แƒ“แƒแƒฃแƒงแƒแƒ•แƒœแƒ”แƒ‘แƒšแƒ˜แƒ• แƒจแƒ”แƒ˜แƒฅแƒ›แƒœแƒแƒก /dev/root/cache-แƒ–แƒ”. แƒ—แƒฃ แƒ แƒแƒ›แƒ” แƒแƒ แƒแƒกแƒฌแƒแƒ  แƒแƒ“แƒ’แƒ˜แƒšแƒแƒก แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ—, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ“แƒแƒ˜แƒขแƒแƒœแƒแƒ— pvmove-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—.

แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— แƒ“แƒ แƒ’แƒแƒ•แƒแƒแƒฅแƒขแƒ˜แƒฃแƒ แƒแƒ— แƒฅแƒ”แƒจแƒ˜:

#lvcreate -y -L 64G -n cache cache /dev/root/cache
#lvcreate -y -L 1G -n cachemeta cache /dev/root/cache
#lvconvert -y --type cache-pool --cachemode writeback --chunksize 64k --poolmetadata cache/cachemeta cache/cache
#lvconvert -y --type cache --cachepool cache/cache cache/cachedata

แƒ แƒแƒขแƒแƒ› แƒแƒกแƒ”แƒ—แƒ˜ แƒญแƒ™แƒฃแƒ..?แƒžแƒ แƒแƒฅแƒขแƒ˜แƒ™แƒฃแƒšแƒ˜ แƒ”แƒฅแƒกแƒžแƒ”แƒ แƒ˜แƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ˜แƒ— แƒแƒ•แƒขแƒแƒ แƒ›แƒ แƒจแƒ”แƒซแƒšแƒ แƒ’แƒแƒ”แƒ’แƒ, แƒ แƒแƒ› แƒกแƒแƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒ แƒจแƒ”แƒ“แƒ”แƒ’แƒ˜ แƒ›แƒ˜แƒ˜แƒฆแƒฌแƒ”แƒ•แƒ, แƒ—แƒฃ LVM แƒฅแƒ”แƒจแƒ˜แƒก แƒ‘แƒšแƒแƒ™แƒ˜แƒก แƒ–แƒแƒ›แƒ แƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ LVM แƒ—แƒฎแƒ”แƒšแƒ˜ แƒ‘แƒšแƒแƒ™แƒ˜แƒก แƒ–แƒแƒ›แƒแƒก. แƒฃแƒคแƒ แƒ แƒ›แƒ”แƒขแƒ˜แƒช, แƒ แƒแƒช แƒฃแƒคแƒ แƒ แƒ›แƒชแƒ˜แƒ แƒ”แƒ แƒ–แƒแƒ›แƒ, แƒ›แƒ˜แƒ— แƒฃแƒ™แƒ”แƒ—แƒ”แƒกแƒ˜แƒ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ˜แƒ— แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒจแƒ˜.

64k แƒแƒ แƒ˜แƒก แƒ›แƒ˜แƒœแƒ˜แƒ›แƒแƒšแƒฃแƒ แƒ˜ แƒ‘แƒšแƒแƒ™แƒ˜แƒก แƒ–แƒแƒ›แƒ แƒ“แƒแƒจแƒ•แƒ”แƒ‘แƒฃแƒšแƒ˜ LVM thin-แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒคแƒ แƒ—แƒฎแƒ˜แƒšแƒแƒ“ แƒฉแƒแƒฌแƒ”แƒ แƒ”แƒ—..!แƒ“แƒ˜แƒแƒฎ. แƒแƒ› แƒขแƒ˜แƒžแƒ˜แƒก แƒฅแƒ”แƒจแƒ˜ แƒแƒฉแƒ”แƒ แƒ”แƒ‘แƒก แƒฉแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒแƒก แƒฅแƒ”แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒš แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒแƒ–แƒ”. แƒ”แƒก แƒœแƒ˜แƒจแƒœแƒแƒ•แƒก, แƒ แƒแƒ› แƒ—แƒฃ แƒฅแƒ”แƒจแƒ˜ แƒ“แƒแƒ˜แƒ™แƒแƒ แƒ’แƒ”แƒ‘แƒ, แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ“แƒแƒ™แƒแƒ แƒ’แƒแƒ— แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒฅแƒ”แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒš แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒแƒ–แƒ”. แƒ›แƒแƒ’แƒ•แƒ˜แƒแƒœแƒ”แƒ‘แƒ˜แƒ—, แƒแƒ•แƒขแƒแƒ แƒ˜ แƒ’แƒ”แƒขแƒงแƒ•แƒ˜แƒ—, แƒ แƒ แƒ–แƒแƒ›แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ, แƒ’แƒแƒ แƒ“แƒ NVMe RAID 1-แƒ˜แƒกแƒ, แƒแƒ› แƒ แƒ˜แƒกแƒ™แƒ˜แƒก แƒ™แƒแƒ›แƒžแƒ”แƒœแƒกแƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒฅแƒ”แƒจแƒ˜แƒก แƒ”แƒก แƒขแƒ˜แƒžแƒ˜ แƒจแƒ”แƒ’แƒœแƒ”แƒ‘แƒฃแƒšแƒแƒ“ แƒ˜แƒฅแƒœแƒ แƒแƒ แƒฉแƒ”แƒฃแƒšแƒ˜ RAID 6-แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ˜แƒ—แƒ˜ แƒฉแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒชแƒฃแƒ“แƒ˜ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒ™แƒแƒ›แƒžแƒ”แƒœแƒกแƒแƒชแƒ˜แƒ˜แƒก แƒ›แƒ˜แƒ–แƒœแƒ˜แƒ—.

แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒแƒ›แƒแƒฌแƒ›แƒแƒ— แƒ แƒ แƒ›แƒ˜แƒ•แƒ˜แƒฆแƒ”แƒ—:

#lvs -a -o lv_name,lv_size,devices --units B cache
LV LSize Devices
[cache] 68719476736B cache_cdata(0)
[cache_cdata] 68719476736B /dev/root/cache(0)
[cache_cmeta] 1073741824B /dev/root/cache(16384)
cachedata 3298539077632B cachedata_corig(0)
[cachedata_corig] 3298539077632B /dev/data/cache(0)
[lvol0_pmspare] 1073741824B /dev/root/cache(16640)

แƒ›แƒฎแƒแƒšแƒแƒ“ [cachedata_corig] แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒ’แƒแƒœแƒ—แƒแƒ•แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ /dev/data/cache-แƒ–แƒ”. แƒ—แƒฃ แƒ แƒแƒ›แƒ” แƒแƒ แƒแƒกแƒฌแƒแƒ แƒ˜แƒ, แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ— pvmove.

แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ’แƒแƒ›แƒแƒ แƒ—แƒแƒ— แƒฅแƒ”แƒจแƒ˜ แƒ”แƒ แƒ—แƒ˜ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒ—:

#lvconvert -y --uncache cache/cachedata

แƒ”แƒก แƒ™แƒ”แƒ—แƒ“แƒ”แƒ‘แƒ แƒแƒœแƒšแƒแƒ˜แƒœ. LVM แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒ”แƒ‘แƒก แƒฅแƒ”แƒจแƒก แƒ“แƒ˜แƒกแƒ™แƒ–แƒ”, แƒฌแƒแƒจแƒšแƒ˜แƒก แƒ›แƒแƒก แƒ“แƒ แƒ“แƒแƒแƒ แƒฅแƒ›แƒ”แƒ•แƒก cachedata_corig-แƒก แƒฃแƒ™แƒแƒœ cachedata-แƒแƒ“.

LVM แƒ—แƒฎแƒ”แƒšแƒ˜ แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ

แƒ›แƒแƒ“แƒ˜แƒ— แƒฃแƒฎแƒ”แƒจแƒแƒ“ แƒจแƒ”แƒ•แƒแƒคแƒแƒกแƒแƒ— แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜ แƒกแƒ˜แƒ•แƒ แƒชแƒ” แƒ’แƒ•แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ LVM แƒ—แƒฎแƒ”แƒšแƒ˜ แƒ›แƒ”แƒขแƒแƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก:

#thin_metadata_size --block-size=64k --pool-size=6terabytes --max-thins=100000 -u bytes
thin_metadata_size - 3385794560 bytes estimated metadata area size for "--block-size=64kibibytes --pool-size=6terabytes --max-thins=100000"

แƒ“แƒแƒ›แƒ แƒ’แƒ•แƒแƒšแƒ”แƒ— 4 แƒ’แƒ˜แƒ’แƒแƒ‘แƒแƒ˜แƒขแƒแƒ›แƒ“แƒ”: 4294967296B

แƒ’แƒแƒแƒ›แƒ แƒแƒ•แƒšแƒ”แƒ— แƒแƒ แƒ–แƒ” แƒ“แƒ แƒ“แƒแƒแƒ›แƒแƒขแƒ”แƒ— 4194304B LVM PV แƒ›แƒ”แƒขแƒแƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก: 8594128896B
แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— แƒชแƒแƒšแƒ™แƒ” แƒ“แƒแƒœแƒแƒงแƒแƒคแƒ˜ NVMe RAID 1-แƒ–แƒ”, แƒ แƒแƒ—แƒ แƒ›แƒแƒกแƒ–แƒ” แƒ›แƒแƒ•แƒแƒ—แƒแƒ•แƒกแƒแƒ— LVM แƒ—แƒฎแƒ”แƒšแƒ˜ แƒ›แƒ”แƒขแƒแƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ›แƒแƒ—แƒ˜ แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ˜:

#lvcreate -L 8594128896B --name images root

แฒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก..?แƒแƒฅ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒฉแƒœแƒ“แƒ”แƒก แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ: แƒ แƒแƒขแƒแƒ› แƒ’แƒแƒœแƒ•แƒแƒ—แƒแƒ•แƒกแƒแƒ— LVM แƒ—แƒฎแƒ”แƒšแƒ˜ แƒ›แƒ”แƒขแƒแƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒชแƒแƒšแƒ™แƒ”, แƒ—แƒฃ แƒ˜แƒก แƒ›แƒแƒ˜แƒœแƒช แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒฅแƒ”แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ NVMe-แƒ–แƒ” แƒ“แƒ แƒกแƒฌแƒ แƒแƒคแƒแƒ“ แƒ˜แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒก.

แƒ›แƒ˜แƒฃแƒฎแƒ”แƒ“แƒแƒ•แƒแƒ“ แƒ˜แƒ›แƒ˜แƒกแƒ, แƒ แƒแƒ› แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ” แƒแƒฅ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒแƒœแƒ˜แƒ, แƒ˜แƒก แƒจแƒแƒ แƒก แƒแƒ แƒ˜แƒก แƒ›แƒ—แƒแƒ•แƒแƒ แƒ˜ แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ˜แƒกแƒ’แƒแƒœ. แƒกแƒแƒฅแƒ›แƒ” แƒ˜แƒก แƒแƒ แƒ˜แƒก, แƒ แƒแƒ› แƒฅแƒ”แƒจแƒ˜ แƒแƒ แƒ˜แƒก แƒ›แƒแƒ แƒชแƒฎแƒ˜แƒก แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ˜. แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ แƒแƒฆแƒแƒช แƒ›แƒแƒฎแƒ“แƒ”แƒก แƒ“แƒ แƒ—แƒฃ LVM แƒ—แƒฎแƒ”แƒšแƒ˜ แƒ›แƒ”แƒขแƒแƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒฅแƒ”แƒจแƒ˜แƒ แƒ”แƒ‘แƒ แƒ›แƒแƒฎแƒ“แƒ”แƒ‘แƒ, แƒ”แƒก แƒ’แƒแƒ›แƒแƒ˜แƒฌแƒ•แƒ”แƒ•แƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ แƒ˜แƒก แƒกแƒ แƒฃแƒš แƒ“แƒแƒ™แƒแƒ แƒ’แƒ•แƒแƒก. แƒกแƒ แƒฃแƒšแƒ˜ แƒ›แƒ”แƒขแƒแƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”, แƒ—แƒ˜แƒ—แƒฅแƒ›แƒ˜แƒก แƒจแƒ”แƒฃแƒซแƒšแƒ”แƒ‘แƒ”แƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ—แƒฎแƒ”แƒšแƒ˜ แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ™แƒ แƒ”แƒ‘แƒ.

แƒ›แƒ”แƒขแƒแƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒชแƒแƒšแƒ™แƒ” แƒฅแƒ”แƒจแƒฃแƒ , แƒ›แƒแƒ’แƒ แƒแƒ› แƒกแƒฌแƒ แƒแƒค แƒขแƒแƒ›แƒ–แƒ” แƒ’แƒแƒ“แƒแƒขแƒแƒœแƒ˜แƒ—, แƒฉแƒ•แƒ”แƒœ แƒ’แƒแƒ แƒแƒœแƒขแƒ˜แƒแƒก แƒ•แƒแƒซแƒšแƒ”แƒ•แƒ— แƒ›แƒ”แƒขแƒแƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒฃแƒกแƒแƒคแƒ แƒ—แƒฎแƒแƒ”แƒ‘แƒแƒก แƒฅแƒ”แƒจแƒ˜แƒก แƒ“แƒแƒ™แƒแƒ แƒ’แƒ•แƒ˜แƒก แƒแƒœ แƒ™แƒแƒ แƒฃแƒคแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜. แƒแƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒฅแƒ”แƒจแƒ˜แƒก แƒ“แƒแƒ™แƒแƒ แƒ’แƒ•แƒ˜แƒ— แƒ’แƒแƒ›แƒแƒฌแƒ•แƒ”แƒฃแƒšแƒ˜ แƒงแƒ•แƒ”แƒšแƒ แƒ–แƒ˜แƒแƒœแƒ˜ แƒšแƒแƒ™แƒแƒšแƒ˜แƒ–แƒ“แƒ”แƒ‘แƒ แƒ—แƒฎแƒ”แƒšแƒ˜ แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ”แƒ‘แƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ—, แƒ แƒแƒช แƒ’แƒแƒแƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ”แƒ‘แƒก แƒแƒฆแƒ“แƒ’แƒ”แƒœแƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒ“แƒฃแƒ แƒแƒก แƒ›แƒแƒกแƒจแƒขแƒแƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒ—. แƒ“แƒ˜แƒ“แƒ˜ แƒแƒšแƒ‘แƒแƒ—แƒแƒ‘แƒ˜แƒ—, แƒ”แƒก แƒ“แƒแƒ–แƒ˜แƒแƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒแƒฆแƒ“แƒ’แƒ”แƒ‘แƒ FS แƒŸแƒฃแƒ แƒœแƒแƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—.

แƒฃแƒคแƒ แƒ แƒ›แƒ”แƒขแƒ˜แƒช, แƒ—แƒฃ แƒแƒ“แƒ แƒ” แƒ˜แƒงแƒ แƒ’แƒแƒ“แƒแƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ—แƒฎแƒ”แƒšแƒ˜ แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ˜แƒก แƒกแƒœแƒ”แƒžแƒจแƒแƒขแƒ˜ แƒ“แƒ แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒฅแƒ”แƒจแƒ˜ แƒกแƒ แƒฃแƒšแƒแƒ“ แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒงแƒ แƒ”แƒ แƒ—แƒฎแƒ”แƒš แƒ›แƒแƒ˜แƒœแƒช, แƒ›แƒแƒจแƒ˜แƒœ, LVM thin-แƒ˜แƒก แƒจแƒ˜แƒ“แƒ แƒ“แƒ˜แƒ–แƒแƒ˜แƒœแƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒฅแƒ”แƒจแƒ˜แƒก แƒ“แƒแƒ™แƒแƒ แƒ’แƒ•แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒกแƒœแƒ”แƒžแƒจแƒแƒขแƒ˜แƒก แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒแƒ‘แƒ แƒ’แƒแƒ แƒแƒœแƒขแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ. .

แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— แƒแƒฎแƒแƒšแƒ˜ VG, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒžแƒแƒกแƒฃแƒฎแƒ˜แƒกแƒ›แƒ’แƒ”แƒ‘แƒ”แƒšแƒ˜แƒ แƒฌแƒ•แƒ แƒ˜แƒš แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒแƒ–แƒ”:

#pvcreate /dev/root/images
#pvcreate /dev/cache/cachedata
#vgcreate images /dev/root/images /dev/cache/cachedata

แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— แƒแƒฃแƒ–แƒ˜:

#lvcreate -L 274877906944B --poolmetadataspare y --poolmetadatasize 4294967296B --chunksize 64k -Z y -T images/thin-pool
แƒ แƒแƒขแƒแƒ› -Z yแƒ’แƒแƒ แƒ“แƒ แƒ˜แƒ›แƒ˜แƒกแƒ, แƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒกแƒแƒช แƒ แƒ”แƒแƒšแƒฃแƒ แƒแƒ“ แƒแƒ แƒ˜แƒก แƒ’แƒแƒœแƒ™แƒฃแƒ—แƒ•แƒœแƒ˜แƒšแƒ˜ แƒ”แƒก แƒ แƒ”แƒŸแƒ˜แƒ›แƒ˜ - แƒ”แƒ แƒ—แƒ˜ แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ แƒ˜ แƒ›แƒแƒœแƒฅแƒแƒœแƒ˜แƒ“แƒแƒœ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒกแƒฎแƒ•แƒ แƒ•แƒ˜แƒ แƒขแƒฃแƒแƒšแƒฃแƒ  แƒ›แƒแƒœแƒฅแƒแƒœแƒแƒ–แƒ” แƒ’แƒแƒŸแƒแƒœแƒ•แƒ˜แƒก แƒ—แƒแƒ•แƒ˜แƒ“แƒแƒœ แƒแƒกแƒแƒชแƒ˜แƒšแƒ”แƒ‘แƒšแƒแƒ“, แƒกแƒ˜แƒ•แƒ แƒชแƒ˜แƒก แƒ’แƒแƒ“แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒกแƒแƒก - แƒœแƒฃแƒšแƒแƒ•แƒแƒœแƒ˜ แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ— แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ˜แƒ—แƒ˜ แƒฉแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ˜แƒก แƒ’แƒแƒกแƒแƒ–แƒ แƒ“แƒ”แƒšแƒแƒ“ 64แƒ™-แƒ–แƒ” แƒ›แƒชแƒ˜แƒ แƒ” แƒ‘แƒšแƒแƒ™แƒ”แƒ‘แƒจแƒ˜. 64K-แƒ–แƒ” แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒ˜ แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ แƒ˜ แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ˜ แƒ—แƒฎแƒ”แƒšแƒ˜ แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ˜แƒก แƒแƒ“แƒ แƒ” แƒ’แƒแƒ›แƒแƒฃแƒงแƒ”แƒœแƒ”แƒ‘แƒ”แƒš แƒ–แƒแƒœแƒแƒจแƒ˜ แƒ’แƒแƒฎแƒ“แƒ”แƒ‘แƒ 64K แƒ™แƒ˜แƒ“แƒ”แƒ–แƒ” แƒ’แƒแƒกแƒฌแƒแƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฅแƒ”แƒจแƒ˜. แƒ”แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ›แƒ˜แƒกแƒชแƒ”แƒ›แƒก แƒแƒžแƒ”แƒ แƒแƒชแƒ˜แƒ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ“แƒ”แƒก แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒแƒ“ แƒฅแƒ”แƒจแƒ˜แƒก แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ—, แƒฅแƒ”แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒ˜แƒก แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜แƒก แƒแƒ•แƒšแƒ˜แƒ—.

แƒ’แƒแƒ“แƒแƒ•แƒ˜แƒขแƒแƒœแƒแƒ— LV-แƒ”แƒ‘แƒ˜ แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒก PV-แƒ”แƒ‘แƒ–แƒ”:

#pvmove -n images/thin-pool_tdata /dev/root/images /dev/cache/cachedata
#pvmove -n images/lvol0_pmspare /dev/cache/cachedata /dev/root/images
#pvmove -n images/thin-pool_tmeta /dev/cache/cachedata /dev/root/images

แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒแƒ›แƒแƒฌแƒ›แƒแƒ—:

#lvs -a -o lv_name,lv_size,devices --units B images
LV LSize Devices
[lvol0_pmspare] 4294967296B /dev/root/images(0)
thin-pool 274877906944B thin-pool_tdata(0)
[thin-pool_tdata] 274877906944B /dev/cache/cachedata(0)
[thin-pool_tmeta] 4294967296B /dev/root/images(1024)

แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— แƒ—แƒฎแƒ”แƒšแƒ˜ แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก:

#lvcreate -V 64G --thin-pool thin-pool --name test images

แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ•แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ— แƒžแƒแƒ™แƒ”แƒขแƒ”แƒ‘แƒก แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜แƒกแƒ แƒ“แƒ แƒ›แƒแƒœแƒ˜แƒขแƒแƒ แƒ˜แƒœแƒ’แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก:

#apt-get install sysstat fio

แƒแƒ˜, แƒ แƒแƒ’แƒแƒ  แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ“แƒแƒแƒ™แƒ•แƒ˜แƒ แƒ“แƒ”แƒ— แƒฉแƒ•แƒ”แƒœแƒ˜ แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ˜แƒก แƒฅแƒชแƒ”แƒ•แƒแƒก แƒ แƒ”แƒแƒšแƒฃแƒ  แƒ“แƒ แƒแƒจแƒ˜:

#watch 'lvs --rows --reportformat basic --quiet -ocache_dirty_blocks,cache_settings cache/cachedata && (lvdisplay cache/cachedata | grep Cache) && (sar -p -d 2 1 | grep -E "sd|nvme|DEV|md1|md2|md3|md0" | grep -v Average | sort)'

แƒแƒ˜, แƒ แƒแƒ’แƒแƒ  แƒจแƒ”แƒ’แƒ•แƒ˜แƒซแƒšแƒ˜แƒ แƒจแƒ”แƒ•แƒแƒ›แƒแƒฌแƒ›แƒแƒ— แƒฉแƒ•แƒ”แƒœแƒ˜ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒ:

#fio --loops=1 --size=64G --runtime=4 --filename=/dev/images/test --stonewall --ioengine=libaio --direct=1
--name=4kQD32read --bs=4k --iodepth=32 --rw=randread
--name=8kQD32read --bs=8k --iodepth=32 --rw=randread
--name=16kQD32read --bs=16k --iodepth=32 --rw=randread
--name=32KQD32read --bs=32k --iodepth=32 --rw=randread
--name=64KQD32read --bs=64k --iodepth=32 --rw=randread
--name=128KQD32read --bs=128k --iodepth=32 --rw=randread
--name=256KQD32read --bs=256k --iodepth=32 --rw=randread
--name=512KQD32read --bs=512k --iodepth=32 --rw=randread
--name=4Kread --bs=4k --rw=read
--name=8Kread --bs=8k --rw=read
--name=16Kread --bs=16k --rw=read
--name=32Kread --bs=32k --rw=read
--name=64Kread --bs=64k --rw=read
--name=128Kread --bs=128k --rw=read
--name=256Kread --bs=256k --rw=read
--name=512Kread --bs=512k --rw=read
--name=Seqread --bs=1m --rw=read
--name=Longread --bs=8m --rw=read
--name=Longwrite --bs=8m --rw=write
--name=Seqwrite --bs=1m --rw=write
--name=512Kwrite --bs=512k --rw=write
--name=256write --bs=256k --rw=write
--name=128write --bs=128k --rw=write
--name=64write --bs=64k --rw=write
--name=32write --bs=32k --rw=write
--name=16write --bs=16k --rw=write
--name=8write --bs=8k --rw=write
--name=4write --bs=4k --rw=write
--name=512KQD32write --bs=512k --iodepth=32 --rw=randwrite
--name=256KQD32write --bs=256k --iodepth=32 --rw=randwrite
--name=128KQD32write --bs=128k --iodepth=32 --rw=randwrite
--name=64KQD32write --bs=64k --iodepth=32 --rw=randwrite
--name=32KQD32write --bs=32k --iodepth=32 --rw=randwrite
--name=16KQD32write --bs=16k --iodepth=32 --rw=randwrite
--name=8KQD32write --bs=8k --iodepth=32 --rw=randwrite
--name=4kQD32write --bs=4k --iodepth=32 --rw=randwrite
| grep -E 'read|write|test' | grep -v ioengine

แƒคแƒ แƒ—แƒฎแƒ˜แƒšแƒแƒ“! แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ˜!แƒ”แƒก แƒ™แƒแƒ“แƒ˜ แƒฉแƒแƒแƒขแƒแƒ แƒ”แƒ‘แƒก 36 แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒขแƒ”แƒกแƒขแƒก, แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก 4 แƒฌแƒแƒ›แƒ˜แƒก แƒ’แƒแƒœแƒ›แƒแƒ•แƒšแƒแƒ‘แƒแƒจแƒ˜. แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒฎแƒ”แƒ•แƒแƒ แƒ˜ แƒฉแƒแƒกแƒแƒฌแƒ”แƒ แƒ˜แƒ. NVMe-แƒ–แƒ” แƒ‘แƒ”แƒ•แƒ แƒ˜แƒก แƒฉแƒแƒฌแƒ”แƒ แƒ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— 4 แƒฌแƒแƒ›แƒจแƒ˜. 3 แƒ’แƒ˜แƒ’แƒแƒ‘แƒแƒ˜แƒขแƒแƒ›แƒ“แƒ” แƒฌแƒแƒ›แƒจแƒ˜. แƒแƒกแƒ” แƒ แƒแƒ›, แƒฌแƒ”แƒ แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜แƒก แƒงแƒแƒ•แƒ”แƒšแƒ˜ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ แƒจแƒ”แƒฃแƒซแƒšแƒ˜แƒ แƒ—แƒฅแƒ•แƒ”แƒœแƒ’แƒแƒœ 216 แƒ’แƒ˜แƒ’แƒแƒ‘แƒแƒ˜แƒขแƒแƒ›แƒ“แƒ” SSD แƒ แƒ”แƒกแƒฃแƒ แƒกแƒ˜แƒก แƒญแƒแƒ›แƒ.

แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ แƒ“แƒ แƒฌแƒ”แƒ แƒ แƒจแƒ”แƒ แƒ”แƒฃแƒšแƒ˜แƒ?แƒ“แƒ˜แƒแƒฎ. แƒแƒ–แƒ แƒ˜ แƒแƒฅแƒ•แƒก แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ˜แƒกแƒ แƒ“แƒ แƒฌแƒ”แƒ แƒ˜แƒก แƒขแƒ”แƒกแƒขแƒ”แƒ‘แƒ˜แƒก แƒชแƒแƒšแƒ™แƒ” แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒแƒก. แƒฃแƒคแƒ แƒ แƒ›แƒ”แƒขแƒ˜แƒช, แƒแƒ–แƒ แƒ˜ แƒแƒฅแƒ•แƒก แƒ˜แƒ›แƒ˜แƒก แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒแƒก, แƒ แƒแƒ› แƒงแƒ•แƒ”แƒšแƒ แƒฅแƒ”แƒจแƒ˜ แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ˜แƒกแƒ”, แƒ แƒแƒ› แƒแƒ“แƒ แƒ” แƒ’แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ˜ แƒ’แƒแƒ•แƒšแƒ”แƒœแƒแƒก แƒแƒ  แƒ›แƒแƒแƒฎแƒ“แƒ”แƒœแƒก แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒแƒ–แƒ”.

แƒจแƒ”แƒ“แƒ”แƒ’แƒ”แƒ‘แƒ˜ แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒœแƒแƒ“ แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ“แƒ”แƒ‘แƒ˜แƒแƒœ แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒก แƒ“แƒ แƒจแƒ”แƒ›แƒ“แƒ’แƒแƒ›แƒจแƒ˜, แƒ แƒแƒ’แƒแƒ แƒช แƒฅแƒ”แƒจแƒ˜ แƒ“แƒ แƒ—แƒฎแƒ”แƒšแƒ˜ แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒ•แƒกแƒ”แƒ‘แƒ, แƒแƒกแƒ”แƒ•แƒ” แƒ“แƒแƒ›แƒแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ˜แƒ›แƒแƒ–แƒ”, แƒ›แƒแƒแƒฎแƒ”แƒ แƒฎแƒ แƒ—แƒฃ แƒแƒ แƒ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒแƒ› แƒ‘แƒแƒšแƒ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ“แƒ แƒแƒก แƒจแƒ”แƒ•แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฅแƒ”แƒจแƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ.

แƒกแƒฎแƒ•แƒ แƒกแƒแƒ™แƒ˜แƒ—แƒฎแƒ”แƒ‘แƒ—แƒแƒœ แƒ”แƒ แƒ—แƒแƒ“, แƒ’แƒ˜แƒ แƒฉแƒ”แƒ•แƒ— แƒกแƒ˜แƒฉแƒฅแƒแƒ แƒ˜แƒก แƒ’แƒแƒ–แƒแƒ›แƒ•แƒแƒก แƒฃแƒ™แƒ•แƒ” แƒกแƒ แƒฃแƒš แƒ—แƒฎแƒ”แƒš แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒแƒ–แƒ”, แƒกแƒแƒ˜แƒ“แƒแƒœแƒแƒช แƒแƒฎแƒšแƒแƒฎแƒแƒœ แƒ’แƒแƒ“แƒแƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒกแƒœแƒ”แƒžแƒจแƒแƒขแƒ˜. แƒแƒ•แƒขแƒแƒ แƒก แƒฐแƒฅแƒแƒœแƒ“แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ”แƒ‘แƒšแƒแƒ‘แƒ แƒ“แƒแƒ”แƒœแƒแƒฎแƒ, แƒ—แƒฃ แƒ แƒแƒ’แƒแƒ  แƒ›แƒ™แƒ•แƒ”แƒ—แƒ แƒแƒ“ แƒแƒฉแƒฅแƒแƒ แƒ“แƒ”แƒ‘แƒ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ˜แƒ—แƒ˜ แƒฉแƒแƒฌแƒ”แƒ แƒ แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒกแƒœแƒ”แƒžแƒจแƒแƒขแƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒกแƒ—แƒแƒœแƒแƒ•แƒ”, แƒ’แƒแƒœแƒกแƒแƒ™แƒฃแƒ—แƒ แƒ”แƒ‘แƒ˜แƒ— แƒ›แƒแƒจแƒ˜แƒœ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒฅแƒ”แƒจแƒ˜ แƒฏแƒ”แƒ  แƒ™แƒ˜แƒ“แƒ”แƒ• แƒแƒ  แƒแƒ แƒ˜แƒก แƒกแƒแƒ•แƒกแƒ”. แƒ”แƒก แƒฎแƒ“แƒ”แƒ‘แƒ แƒ™แƒแƒžแƒ˜แƒ แƒ”แƒ‘แƒ-แƒฉแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒฉแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒกแƒ”แƒ›แƒแƒœแƒขแƒ˜แƒ™แƒ˜แƒก, แƒฅแƒ”แƒจแƒ˜แƒกแƒ แƒ“แƒ แƒ—แƒฎแƒ”แƒšแƒ˜ แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ˜แƒก แƒ‘แƒšแƒแƒ™แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒกแƒฌแƒแƒ แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒ แƒ“แƒ แƒ˜แƒก แƒคแƒแƒฅแƒขแƒ˜, แƒ แƒแƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ˜แƒ—แƒ˜ แƒฉแƒแƒฌแƒ”แƒ แƒ RAID 6-แƒจแƒ˜ แƒ’แƒแƒ“แƒแƒ˜แƒฅแƒชแƒ”แƒ•แƒ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ˜แƒ— แƒฌแƒแƒ™แƒ˜แƒ—แƒฎแƒ•แƒแƒ“ RAID 6-แƒ“แƒแƒœ, แƒ แƒแƒกแƒแƒช แƒ›แƒแƒฐแƒงแƒ•แƒ”แƒ‘แƒ แƒฉแƒแƒฌแƒ”แƒ แƒ แƒฅแƒ”แƒจแƒ˜. แƒฉแƒ•แƒ”แƒœแƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒแƒชแƒ˜แƒแƒจแƒ˜, RAID 6-แƒ“แƒแƒœ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ˜แƒ—แƒ˜ แƒ™แƒ˜แƒ—แƒฎแƒ•แƒ 6-แƒฏแƒ”แƒ  (SATA SSD-แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ แƒ›แƒแƒกแƒ˜แƒ•แƒจแƒ˜) แƒฃแƒคแƒ แƒ แƒกแƒฌแƒ แƒแƒคแƒ˜แƒ, แƒ•แƒ˜แƒ“แƒ แƒ” แƒฉแƒแƒฌแƒ”แƒ แƒ. แƒ˜แƒ›แƒ˜แƒขแƒแƒ› แƒ แƒแƒ› CoW-แƒกแƒ—แƒ•แƒ˜แƒก แƒ‘แƒšแƒแƒ™แƒ”แƒ‘แƒ˜ แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒฃแƒšแƒแƒ“ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒแƒคแƒ แƒ—แƒฎแƒ”แƒšแƒ˜ แƒแƒฃแƒ–แƒ˜แƒ“แƒแƒœ, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ˜, แƒฃแƒ›แƒ”แƒขแƒ”แƒกแƒฌแƒ˜แƒšแƒแƒ“, แƒแƒกแƒ”แƒ•แƒ” แƒ˜แƒฅแƒชแƒ”แƒ•แƒ แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒฃแƒšแƒแƒ“.

แƒแƒ แƒ˜แƒ•แƒ” แƒ”แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒš แƒ˜แƒฅแƒœแƒแƒก แƒ—แƒฅแƒ•แƒ”แƒœแƒก แƒกแƒแƒกแƒแƒ แƒ’แƒ”แƒ‘แƒšแƒแƒ“.

แƒฅแƒ”แƒจแƒ˜ โ€žแƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒฃแƒšแƒ˜โ€œ แƒ™แƒแƒ“แƒ แƒ”แƒ‘แƒ˜

แƒฅแƒ”แƒจแƒ˜แƒก แƒ“แƒแƒ–แƒ˜แƒแƒœแƒ”แƒ‘แƒ˜แƒก/แƒ“แƒแƒ™แƒแƒ แƒ’แƒ•แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ“แƒแƒ™แƒแƒ แƒ’แƒ•แƒ˜แƒก แƒ แƒ˜แƒกแƒ™แƒ˜แƒก แƒจแƒ”แƒกแƒแƒ›แƒชแƒ˜แƒ แƒ”แƒ‘แƒšแƒแƒ“, แƒแƒ•แƒขแƒแƒ แƒ˜ แƒ’แƒ•แƒ—แƒแƒ•แƒแƒ–แƒแƒ‘แƒก แƒ“แƒแƒœแƒ”แƒ แƒ’แƒแƒก แƒกแƒœแƒ”แƒžแƒจแƒแƒขแƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒขแƒแƒชแƒ˜แƒ˜แƒก แƒžแƒ แƒแƒฅแƒขแƒ˜แƒ™แƒ, แƒ แƒแƒ—แƒ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒก แƒ›แƒแƒ—แƒ˜ แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒแƒ‘แƒ แƒแƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜.

แƒžแƒ˜แƒ แƒ•แƒ”แƒš แƒ แƒ˜แƒ’แƒจแƒ˜, แƒ˜แƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒ, แƒ แƒแƒ› แƒ—แƒฎแƒ”แƒšแƒ˜ แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ˜แƒก แƒ›แƒ”แƒขแƒแƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒ’แƒแƒœแƒšแƒแƒ’แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒแƒ แƒแƒฅแƒ”แƒจแƒ˜แƒ แƒ”แƒ‘แƒฃแƒš แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒแƒ–แƒ”, แƒ›แƒ”แƒขแƒแƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒฃแƒšแƒ˜ แƒ“แƒ แƒจแƒ”แƒกแƒแƒซแƒšแƒ แƒ“แƒแƒœแƒแƒ™แƒแƒ แƒ’แƒ”แƒ‘แƒ˜ แƒ˜แƒ–แƒแƒšแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒ‘แƒšแƒแƒ™แƒ”แƒ‘แƒจแƒ˜.

แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒกแƒœแƒ”แƒคแƒจแƒแƒขแƒ˜แƒก แƒ‘แƒ แƒฃแƒœแƒ•แƒ˜แƒก แƒชแƒ˜แƒ™แƒšแƒ˜ แƒฃแƒ–แƒ แƒฃแƒœแƒ•แƒ”แƒšแƒงแƒแƒคแƒก แƒกแƒœแƒ”แƒžแƒจแƒแƒขแƒ”แƒ‘แƒ˜แƒก แƒจแƒ˜แƒ’แƒœแƒ˜แƒ— แƒแƒ แƒกแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒแƒ‘แƒแƒก แƒฅแƒ”แƒจแƒ˜แƒก แƒ“แƒแƒ™แƒแƒ แƒ’แƒ•แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜:

  1. แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒšแƒ˜ แƒ—แƒฎแƒ”แƒšแƒ˜ แƒขแƒแƒ›แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒฌแƒแƒ“แƒ”แƒ‘แƒ˜แƒ— แƒจแƒ”แƒฅแƒ›แƒ”แƒœแƒ˜แƒ— แƒกแƒœแƒ”แƒžแƒจแƒแƒขแƒ˜ แƒกแƒแƒฎแƒ”แƒšแƒ˜แƒ— .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% แƒฉแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒฅแƒ•แƒ”แƒจ. แƒฉแƒ•แƒ”แƒœแƒ˜ NVMe SSD 100% แƒฉแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒฅแƒ•แƒ”แƒจ แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒแƒ“ แƒแƒ›แƒแƒฌแƒฃแƒ แƒแƒ•แƒก แƒ แƒ”แƒกแƒฃแƒ แƒกแƒก 3-4 แƒ“แƒฆแƒ”. SATA SSD-แƒ”แƒ‘แƒ˜ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒแƒ แƒฏแƒ”แƒ  แƒ›แƒ”แƒขแƒฎแƒแƒœแƒก แƒ˜แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ”แƒœ. แƒ›แƒแƒจแƒแƒกแƒแƒ“แƒแƒ›แƒ”, แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒ•แƒแƒ แƒแƒฃแƒ“แƒ”แƒ‘แƒ—, แƒ แƒแƒ› แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒ˜แƒก แƒฃแƒ›แƒ”แƒขแƒ”แƒกแƒ˜ แƒœแƒแƒฌแƒ˜แƒšแƒ˜ แƒฌแƒแƒ“แƒ˜แƒก แƒ™แƒ˜แƒ—แƒฎแƒ•แƒแƒ–แƒ” แƒ“แƒ แƒ’แƒ•แƒแƒฅแƒ•แƒก แƒฃแƒ™แƒ˜แƒ“แƒฃแƒ แƒ”แƒกแƒแƒ“ แƒ›แƒแƒฆแƒแƒšแƒ˜ แƒแƒฅแƒขแƒ˜แƒ•แƒแƒ‘แƒ˜แƒก แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒ— แƒ›แƒแƒ™แƒšแƒ”แƒ•แƒแƒ“แƒ˜แƒแƒœแƒ˜ แƒแƒคแƒ”แƒ—แƒฅแƒ”แƒ‘แƒ”แƒ‘แƒ˜, แƒ™แƒแƒ›แƒ‘แƒ˜แƒœแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒแƒจแƒฃแƒแƒšแƒแƒ“ แƒ“แƒแƒ‘แƒแƒš แƒ“แƒแƒขแƒ•แƒ˜แƒ แƒ—แƒ•แƒแƒกแƒ—แƒแƒœ แƒฌแƒ”แƒ แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.
  4. แƒ แƒแƒ’แƒแƒ แƒช แƒ™แƒ˜ แƒ“แƒแƒ•แƒ˜แƒญแƒ”แƒ แƒ— (แƒแƒœ แƒ’แƒแƒ•แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒ—) แƒœแƒฃแƒšแƒก, แƒฉแƒ•แƒ”แƒœ แƒ•แƒแƒ แƒฅแƒ›แƒ”แƒ•แƒก .cached to .committed. แƒซแƒ•แƒ”แƒšแƒ˜ .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% แƒ—แƒ•แƒ˜แƒ—แƒœแƒแƒกแƒฌแƒแƒ•แƒšแƒ˜แƒ แƒ“แƒ แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก โ€žแƒ’แƒฃแƒ’แƒšแƒ˜แƒกโ€œ แƒ’แƒแƒœแƒ•แƒ˜แƒ—แƒแƒ แƒ”แƒ‘แƒแƒก, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒ—แƒ•แƒšแƒ˜แƒก, แƒ แƒแƒ› แƒ›แƒ˜แƒกแƒ˜ แƒฎแƒ”แƒšแƒ˜แƒ“แƒแƒœ แƒ’แƒแƒ›แƒแƒกแƒฃแƒšแƒ˜ แƒกแƒแƒจแƒ˜แƒœแƒ”แƒšแƒ˜ แƒ™แƒแƒ“แƒ˜ แƒแƒ แƒแƒ•แƒ˜แƒก แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒแƒก. แƒกแƒฎแƒ•แƒ.

แƒ•แƒคแƒ˜แƒฅแƒ แƒแƒ‘, แƒแƒ› แƒกแƒคแƒ”แƒ แƒแƒก แƒžแƒ แƒแƒคแƒ”แƒกแƒ˜แƒแƒœแƒแƒšแƒ”แƒ‘แƒก แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒ แƒ”แƒฅแƒœแƒ”แƒ‘แƒแƒ— แƒ“แƒแƒ›แƒแƒฃแƒ™แƒ˜แƒ“แƒ”แƒ‘แƒšแƒแƒ“ แƒฌแƒแƒ แƒ›แƒแƒแƒฉแƒ˜แƒœแƒแƒœ แƒ–แƒ”แƒ›แƒแƒ— แƒแƒฆแƒฌแƒ”แƒ แƒ˜แƒšแƒ˜ แƒงแƒ•แƒ”แƒšแƒ แƒšแƒแƒ’แƒ˜แƒ™แƒ, แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ แƒ“แƒ, แƒจแƒ”แƒกแƒแƒซแƒšแƒแƒ, แƒšแƒแƒ›แƒแƒ–แƒแƒ“แƒแƒช แƒ™แƒ˜ แƒ“แƒแƒแƒžแƒ แƒแƒ”แƒฅแƒขแƒแƒœ แƒ˜แƒก, แƒ แƒแƒ’แƒแƒ แƒช แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒฃแƒ แƒ˜ แƒกแƒ”แƒ แƒ•แƒ˜แƒกแƒ˜, แƒ แƒแƒ’แƒแƒ แƒช แƒแƒ›แƒแƒก แƒแƒ•แƒขแƒแƒ แƒ˜ แƒชแƒ“แƒ˜แƒšแƒแƒ‘แƒ“แƒ.

แƒแƒกแƒ”แƒ—แƒ˜ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ แƒกแƒœแƒ”แƒžแƒจแƒแƒขแƒ˜แƒก แƒ‘แƒ แƒฃแƒœแƒ•แƒ˜แƒก แƒกแƒฅแƒ”แƒ›แƒ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ›แƒแƒ’แƒ•แƒชแƒ”แƒ›แƒก แƒแƒ แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ›แƒฃแƒ“แƒ›แƒ˜แƒ•แƒแƒ“ แƒ’แƒ•แƒฅแƒแƒœแƒ“แƒ”แƒก แƒ”แƒ แƒ—แƒ˜ แƒกแƒœแƒ”แƒžแƒจแƒแƒขแƒ˜ แƒกแƒ แƒฃแƒšแƒแƒ“ แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒ”แƒ‘แƒฃแƒšแƒ˜ SATA SSD-แƒ–แƒ”, แƒแƒ แƒแƒ›แƒ”แƒ“ แƒกแƒแƒจแƒฃแƒแƒšแƒ”แƒ‘แƒแƒก แƒ›แƒแƒ’แƒ•แƒชแƒ”แƒ›แƒก thin_delta แƒฃแƒขแƒ˜แƒšแƒ˜แƒขแƒแƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— แƒ’แƒแƒ•แƒแƒ แƒ™แƒ•แƒ˜แƒแƒ—, แƒ แƒแƒ›แƒ”แƒšแƒ˜ แƒ‘แƒšแƒแƒ™แƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ˜แƒชแƒ•แƒแƒšแƒ แƒ›แƒ˜แƒกแƒ˜ แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ“แƒ แƒแƒ›แƒ˜แƒ— แƒ›แƒแƒฎแƒ“แƒ”แƒก แƒ“แƒแƒ–แƒ˜แƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒšแƒแƒ™แƒแƒšแƒ˜แƒ–แƒ”แƒ‘แƒ. แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒ˜ แƒขแƒแƒ›แƒ”แƒ‘แƒ˜, แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ•แƒœแƒแƒ“ แƒแƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ”แƒ‘แƒก แƒแƒฆแƒ“แƒ’แƒ”แƒœแƒแƒก.

TRIM/DISCARD libvirt/KVM-แƒจแƒ˜

แƒ˜แƒ›แƒ˜แƒขแƒแƒ› แƒ แƒแƒ› แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ—แƒ แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ 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>

แƒแƒกแƒ”แƒ—แƒ˜ DISCARD-แƒ”แƒ‘แƒ˜ แƒกแƒขแƒฃแƒ›แƒ แƒ˜แƒก OS-แƒ”แƒ‘แƒ˜แƒ“แƒแƒœ แƒกแƒฌแƒแƒ แƒแƒ“ แƒ›แƒฃแƒจแƒแƒ•แƒ“แƒ”แƒ‘แƒ LVM-แƒ˜แƒก แƒ›แƒ˜แƒ”แƒ  แƒ“แƒ แƒ‘แƒšแƒแƒ™แƒ”แƒ‘แƒ˜ แƒกแƒฌแƒแƒ แƒแƒ“ แƒ˜แƒฎแƒกแƒœแƒ”แƒ‘แƒ แƒ แƒแƒ’แƒแƒ แƒช แƒฅแƒ”แƒจแƒจแƒ˜, แƒแƒกแƒ”แƒ•แƒ” แƒ—แƒฎแƒ”แƒš แƒแƒฃแƒ–แƒจแƒ˜. แƒฉแƒ•แƒ”แƒœแƒก แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒ”แƒก แƒฎแƒ“แƒ”แƒ‘แƒ แƒซแƒ˜แƒ แƒ˜แƒ—แƒแƒ“แƒแƒ“ แƒ“แƒแƒ’แƒ•แƒ˜แƒแƒœแƒ”แƒ‘แƒ˜แƒ—, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒกแƒœแƒ”แƒžแƒจแƒแƒขแƒ˜แƒก แƒฌแƒแƒจแƒšแƒ˜แƒกแƒแƒก.

BTRFS แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ

แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ— แƒ›แƒ–แƒ แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ”แƒ‘แƒ˜ แƒฃแƒ™แƒ˜แƒ“แƒฃแƒ แƒ”แƒกแƒ˜ แƒกแƒ˜แƒคแƒ แƒ—แƒฎแƒ˜แƒšแƒ” แƒ“แƒ แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ แƒ แƒ˜แƒกแƒ™แƒ˜แƒก แƒคแƒแƒกแƒแƒ“. แƒแƒ•แƒขแƒแƒ แƒ›แƒ แƒ”แƒก แƒ™แƒแƒ“แƒ˜ แƒ—แƒแƒ•แƒแƒ“ แƒ“แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ—แƒแƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒแƒฌแƒ”แƒ แƒ. แƒ“แƒแƒ แƒฌแƒ›แƒฃแƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ•แƒแƒ , แƒ แƒแƒ› Linux-แƒ˜แƒก แƒ‘แƒ”แƒ•แƒ  แƒ’แƒแƒ›แƒแƒชแƒ“แƒ˜แƒš แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒ”แƒšแƒก แƒแƒฅแƒ•แƒก แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜ แƒ˜แƒœแƒกแƒขแƒ แƒฃแƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒแƒ  แƒแƒ แƒ˜แƒก แƒกแƒแƒญแƒ˜แƒ แƒ แƒกแƒฎแƒ•แƒ˜แƒกแƒ˜ แƒ™แƒแƒžแƒ˜แƒ แƒ”แƒ‘แƒ.

แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— แƒขแƒแƒ›แƒ˜ แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒแƒ–แƒ”:

#lvcreate -L 256G --name backup backup

แƒ›แƒแƒ“แƒ˜แƒ— แƒ“แƒแƒ•แƒแƒคแƒแƒ แƒ›แƒแƒ— แƒ˜แƒก BTRFS-แƒจแƒ˜:

#mkfs.btrfs /dev/backup/backup

แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— แƒกแƒแƒ›แƒแƒœแƒขแƒแƒŸแƒ แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ”แƒ‘แƒ˜ แƒ“แƒ แƒ“แƒแƒ•แƒแƒ›แƒแƒ’แƒ แƒแƒ— แƒคแƒแƒ˜แƒšแƒฃแƒ แƒ˜ แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ˜แƒก แƒซแƒ˜แƒ แƒ”แƒฃแƒšแƒ˜ แƒฅแƒ•แƒ”แƒกแƒ”แƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜:

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

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

แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒ”แƒ‘แƒ˜ แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก:

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

แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒ แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก:

#mkdir /root/btrfs-backup

แƒ›แƒแƒ“แƒ˜แƒ— แƒ“แƒแƒ•แƒแƒ™แƒแƒžแƒ˜แƒ แƒแƒ— แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜:

แƒ‘แƒ”แƒ•แƒ แƒ˜ แƒกแƒแƒจแƒ˜แƒœแƒ”แƒšแƒ˜ bash แƒ™แƒแƒ“แƒ˜. แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ— แƒกแƒแƒ™แƒฃแƒ—แƒแƒ แƒ˜ แƒ แƒ˜แƒกแƒ™แƒ˜แƒก แƒฅแƒ•แƒ”แƒจ. แƒแƒ  แƒ“แƒแƒฌแƒ”แƒ แƒ แƒ’แƒแƒ‘แƒ แƒแƒ–แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒฌแƒ”แƒ แƒ˜แƒšแƒ”แƒ‘แƒ˜ แƒแƒ•แƒขแƒแƒ แƒก...#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 แƒกแƒœแƒ”แƒžแƒจแƒแƒขแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฅแƒ›แƒœแƒ”แƒšแƒแƒ“ แƒ“แƒ แƒกแƒฎแƒ•แƒ FS-แƒ–แƒ” แƒ™แƒแƒžแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก BTRFS แƒ’แƒแƒ’แƒ–แƒแƒ•แƒœแƒ˜แƒก/แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—.

แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒจแƒ”แƒ“แƒแƒ แƒ”แƒ‘แƒ˜แƒ— แƒฎแƒแƒœแƒ’แƒ แƒซแƒšแƒ˜แƒ•แƒ˜ แƒ˜แƒงแƒแƒก, แƒ แƒแƒ“แƒ’แƒแƒœ... แƒ“แƒแƒกแƒแƒฌแƒงแƒ˜แƒกแƒจแƒ˜, แƒงแƒ•แƒ”แƒšแƒ แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ˜ แƒ“แƒแƒ™แƒแƒžแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ. แƒจแƒ”แƒ›แƒ“แƒ’แƒแƒ›แƒ˜ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒซแƒแƒšแƒ˜แƒแƒœ แƒกแƒฌแƒ แƒแƒคแƒ˜, แƒ แƒแƒ“แƒ’แƒแƒœ... แƒ™แƒแƒžแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜.

แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ”แƒ แƒ—แƒ˜ แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒฉแƒ•แƒ”แƒœ แƒฉแƒแƒ•แƒ“แƒ”แƒ‘แƒ— แƒ™แƒ แƒแƒœแƒจแƒ˜:

แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” bash แƒ™แƒแƒ“แƒ˜#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

แƒ แƒแƒก แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒก..?แƒฅแƒ›แƒœแƒ˜แƒก แƒ“แƒ แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒแƒก แƒฃแƒฌแƒ”แƒ•แƒก แƒฉแƒแƒ›แƒแƒ—แƒ•แƒšแƒ˜แƒšแƒ˜ BTRFS แƒขแƒแƒ›แƒ”แƒ‘แƒ˜แƒก แƒ”แƒขแƒแƒžแƒแƒ‘แƒ แƒ˜แƒ• แƒกแƒฃแƒ แƒแƒ—แƒ”แƒ‘แƒก แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ FS-แƒ–แƒ”. แƒแƒ›แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ˜แƒก แƒจแƒšแƒ˜แƒก 60 แƒ“แƒฆแƒ˜แƒก แƒฌแƒ˜แƒœ แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒš แƒงแƒ•แƒ”แƒšแƒ แƒกแƒฃแƒ แƒแƒ—แƒก. แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒฉแƒแƒ›แƒแƒ—แƒ•แƒšแƒ˜แƒšแƒ˜ แƒขแƒแƒ›แƒ”แƒ‘แƒ˜แƒก แƒ“แƒแƒ—แƒแƒ แƒ˜แƒฆแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒœแƒ”แƒžแƒจแƒแƒขแƒ”แƒ‘แƒ˜ แƒ’แƒแƒ›แƒแƒฉแƒœแƒ“แƒ”แƒ‘แƒ /backup/btrfs/back/remote/ แƒฅแƒ•แƒ”แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒ”แƒ‘แƒจแƒ˜.

แƒ›แƒแƒ“แƒ˜แƒ— แƒ›แƒ˜แƒ•แƒชแƒ”แƒ— แƒ™แƒแƒ“แƒ˜แƒก แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒ˜แƒก แƒฃแƒคแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜:

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

แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒแƒ›แƒแƒฌแƒ›แƒแƒ— แƒ“แƒ แƒฉแƒแƒ•แƒ“แƒแƒ— แƒ™แƒ แƒแƒœแƒจแƒ˜:

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

LVM แƒ—แƒฎแƒ”แƒšแƒ˜ แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ

แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— แƒ—แƒฎแƒ”แƒšแƒ˜ แƒแƒฃแƒ–แƒ˜ แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒแƒ–แƒ”:

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

แƒ›แƒแƒ“แƒ˜แƒ— แƒ“แƒแƒ•แƒแƒงแƒ”แƒœแƒแƒ— ddrescue, แƒ แƒแƒ“แƒ’แƒแƒœ... แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ”แƒ‘แƒ˜ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ”แƒœ แƒแƒ› แƒฎแƒ”แƒšแƒกแƒแƒฌแƒงแƒแƒก:

#apt-get install gddrescue

แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒฅแƒ›แƒœแƒแƒ— แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒ แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก:

#mkdir /root/lvm-thin-backup

แƒ›แƒแƒ“แƒ˜แƒ— แƒ“แƒแƒ•แƒแƒ™แƒแƒžแƒ˜แƒ แƒแƒ— แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ”แƒ‘แƒ˜:

แƒ‘แƒ”แƒ•แƒ แƒ˜ แƒจแƒ˜แƒ’แƒœแƒ”แƒฃแƒšแƒ˜...#cat >/root/lvm-thin-backup/lvm-thin-backup.sh << EOF
#!/bin/bash
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

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

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

export LVM_SUPPRESS_FD_WARNINGS=1

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

function wait_lock()
{
flock 98
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

dmsetup message $DIFF_POOL_PATH_TPOOL 0 release_metadata_snap

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

}

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

activate_volume $SYNC_VG $SYNC_PEND

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

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

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

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

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

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

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

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

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

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

echo Syncronizing "$SOURCE_BASE_LV_PATH" to "$TARGET_BASE_LV_PATH"

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

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

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

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

}

(
COMMAND="$1"
shift

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

EOF

แƒ แƒแƒก แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒก...?แƒจแƒ”แƒ˜แƒชแƒแƒ•แƒก แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ”แƒ แƒ—แƒแƒ‘แƒšแƒ˜แƒแƒ‘แƒแƒก แƒ—แƒฎแƒ”แƒšแƒ˜ แƒกแƒœแƒ”แƒžแƒจแƒแƒขแƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒœแƒ˜แƒžแƒฃแƒšแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ“แƒ thin_delta-แƒ“แƒแƒœ แƒ›แƒ˜แƒฆแƒ”แƒ‘แƒฃแƒš แƒแƒ  แƒฌแƒ•แƒ แƒ˜แƒš แƒกแƒฃแƒ แƒแƒ—แƒก แƒจแƒแƒ แƒ˜แƒก แƒกแƒฎแƒ•แƒแƒแƒ‘แƒ˜แƒก แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒกแƒฎแƒ•แƒ แƒ‘แƒšแƒแƒ™ แƒ›แƒแƒฌแƒงแƒแƒ‘แƒ˜แƒšแƒแƒ‘แƒแƒ–แƒ” ddrescue แƒ“แƒ blkdiscard-แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—.

แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ”แƒ แƒ—แƒ˜ แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒฉแƒ•แƒ”แƒœ แƒ“แƒแƒ•แƒ“แƒ”แƒ‘แƒ— แƒ™แƒ แƒแƒœแƒจแƒ˜:

แƒชแƒแƒขแƒ แƒ›แƒ”แƒขแƒ˜ แƒ‘แƒแƒจ#cat >/root/lvm-thin-backup/cron-daily.sh << EOF
#!/bin/bash
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

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

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

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

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

EOF

แƒ แƒแƒก แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒก...?แƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒก แƒฌแƒ˜แƒœแƒ แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒก แƒฉแƒแƒ›แƒแƒ—แƒ•แƒšแƒ˜แƒšแƒ˜ แƒ—แƒฎแƒ”แƒšแƒ˜ แƒขแƒแƒ›แƒ”แƒ‘แƒ˜แƒก แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฅแƒ›แƒœแƒ”แƒšแƒแƒ“ แƒ“แƒ แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜ แƒ“แƒแƒขแƒแƒ•แƒ”แƒ‘แƒก แƒฉแƒแƒ›แƒแƒ—แƒ•แƒšแƒ˜แƒšแƒ˜ แƒขแƒแƒ›แƒ”แƒ‘แƒ˜แƒก แƒแƒ แƒแƒแƒฅแƒขแƒ˜แƒฃแƒ  แƒ™แƒแƒ“แƒ แƒ”แƒ‘แƒก, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒช แƒกแƒแƒญแƒ˜แƒ แƒแƒ แƒ‘แƒแƒšแƒ แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒแƒชแƒ˜แƒ˜แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ—แƒ•แƒแƒšแƒงแƒฃแƒ แƒ˜แƒก แƒ“แƒ”แƒ•แƒœแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒ”แƒก แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜ แƒฃแƒœแƒ“แƒ แƒ˜แƒงแƒแƒก แƒ แƒ”แƒ“แƒแƒฅแƒขแƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜, แƒกแƒแƒ“แƒแƒช แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ—แƒฎแƒ”แƒšแƒ˜ แƒขแƒแƒ›แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ, แƒ แƒแƒ›แƒšแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒกแƒแƒช แƒฃแƒœแƒ“แƒ แƒ’แƒแƒ™แƒ”แƒ—แƒ“แƒ”แƒก แƒกแƒแƒ แƒ”แƒ–แƒ”แƒ แƒ•แƒ แƒแƒกแƒšแƒ”แƒ‘แƒ˜. แƒ›แƒแƒชแƒ”แƒ›แƒฃแƒšแƒ˜ แƒกแƒแƒฎแƒ”แƒšแƒ”แƒ‘แƒ˜ แƒ›แƒฎแƒแƒšแƒแƒ“ แƒกแƒแƒ˜แƒšแƒฃแƒกแƒขแƒ แƒแƒชแƒ˜แƒ แƒ›แƒ˜แƒ–แƒœแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒกแƒแƒ. แƒ—แƒฃ แƒ’แƒกแƒฃแƒ แƒ—, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒ“แƒแƒฌแƒ”แƒ แƒแƒ— แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒ”แƒ‘แƒก แƒงแƒ•แƒ”แƒšแƒ แƒขแƒแƒ›แƒก.

แƒ›แƒแƒ“แƒ˜แƒ— แƒ›แƒ˜แƒ•แƒชแƒ”แƒ— แƒฃแƒคแƒšแƒ”แƒ‘แƒ”แƒ‘แƒ˜:

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

แƒ›แƒแƒ“แƒ˜แƒ— แƒจแƒ”แƒ•แƒแƒ›แƒแƒฌแƒ›แƒแƒ— แƒ“แƒ แƒฉแƒแƒ•แƒ“แƒแƒ— แƒ™แƒ แƒแƒœแƒจแƒ˜:

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

แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ แƒฎแƒแƒœแƒ’แƒ แƒซแƒšแƒ˜แƒ•แƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ, แƒ แƒแƒ“แƒ’แƒแƒœ... แƒ—แƒฎแƒ”แƒšแƒ˜ แƒขแƒแƒ›แƒ˜ แƒกแƒ แƒฃแƒšแƒแƒ“ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ แƒกแƒ˜แƒœแƒฅแƒ แƒแƒœแƒ˜แƒ–แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒงแƒ•แƒ”แƒšแƒ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒกแƒ˜แƒ•แƒ แƒชแƒ˜แƒก แƒ™แƒแƒžแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒ—. LVM แƒ—แƒฎแƒ”แƒšแƒ˜ แƒ›แƒ”แƒขแƒแƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒฌแƒงแƒแƒšแƒแƒ‘แƒ˜แƒ—, แƒฉแƒ•แƒ”แƒœ แƒ•แƒ˜แƒชแƒ˜แƒ—, แƒ แƒแƒ›แƒ”แƒšแƒ˜ แƒ‘แƒšแƒแƒ™แƒ”แƒ‘แƒ˜ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒ แƒ”แƒแƒšแƒฃแƒ แƒแƒ“, แƒแƒ›แƒ˜แƒขแƒแƒ› แƒ›แƒฎแƒแƒšแƒแƒ“ แƒ แƒ”แƒแƒšแƒฃแƒ แƒแƒ“ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ—แƒฎแƒ”แƒšแƒ˜ แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ˜แƒก แƒ‘แƒšแƒแƒ™แƒ”แƒ‘แƒ˜ แƒ™แƒแƒžแƒ˜แƒ แƒ“แƒ”แƒ‘แƒ.

แƒจแƒ”แƒ›แƒ“แƒ’แƒแƒ›แƒ˜ แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ”แƒ‘แƒ˜ แƒ“แƒแƒแƒ™แƒแƒžแƒ˜แƒ แƒ”แƒ‘แƒก แƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒก แƒ”แƒขแƒแƒžแƒแƒ‘แƒ แƒ˜แƒ•แƒแƒ“ LVM แƒ—แƒฎแƒ”แƒšแƒ˜ แƒ›แƒ”แƒขแƒแƒ›แƒแƒœแƒแƒชแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ›แƒ”แƒจแƒ•แƒ”แƒแƒ‘แƒ˜แƒ— แƒ—แƒ•แƒแƒšแƒ—แƒ•แƒแƒšแƒ˜แƒก แƒชแƒ•แƒšแƒ˜แƒšแƒ”แƒ‘แƒ˜แƒก แƒฌแƒงแƒแƒšแƒแƒ‘แƒ˜แƒ—.

แƒ•แƒœแƒแƒฎแƒแƒ— แƒ แƒ แƒ›แƒแƒฎแƒ“แƒ:

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

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

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

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

แƒ แƒ แƒ™แƒแƒ•แƒจแƒ˜แƒ แƒจแƒ˜แƒ แƒ”แƒก แƒ›แƒแƒ‘แƒฃแƒ“แƒฃแƒš แƒ—แƒแƒฏแƒ˜แƒœแƒ”แƒ‘แƒก?

แƒกแƒแƒ•แƒแƒ แƒแƒฃแƒ“แƒแƒ“, แƒ˜แƒ›แƒ˜แƒก แƒ’แƒแƒ—แƒ•แƒแƒšแƒ˜แƒกแƒฌแƒ˜แƒœแƒ”แƒ‘แƒ˜แƒ—, แƒ แƒแƒ› LVM LV แƒšแƒแƒ’แƒ˜แƒ™แƒฃแƒ แƒ˜ แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ”แƒ‘แƒ˜ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒงแƒแƒก LVM PV แƒคแƒ˜แƒ–แƒ˜แƒ™แƒฃแƒ แƒ˜ แƒ›แƒแƒชแƒฃแƒšแƒแƒ‘แƒ”แƒ‘แƒ˜ แƒกแƒฎแƒ•แƒ VG-แƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. LVM แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ˜แƒงแƒแƒก แƒ แƒ”แƒ™แƒฃแƒ แƒกแƒ˜แƒฃแƒšแƒ˜, แƒ›แƒแƒ‘แƒฃแƒ“แƒแƒ แƒ˜ แƒ—แƒแƒฏแƒ˜แƒœแƒ”แƒ‘แƒ˜แƒก แƒ›แƒกแƒ’แƒแƒ•แƒกแƒแƒ“. แƒ”แƒก แƒแƒซแƒšแƒ”แƒ•แƒก LVM-แƒก แƒฃแƒ™แƒ˜แƒ“แƒฃแƒ แƒ”แƒก แƒ›แƒแƒฅแƒœแƒ˜แƒšแƒแƒ‘แƒแƒก.

PS

แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒกแƒขแƒแƒขแƒ˜แƒแƒจแƒ˜ แƒฉแƒ•แƒ”แƒœ แƒจแƒ”แƒ•แƒ”แƒชแƒ“แƒ”แƒ‘แƒ˜แƒ— แƒ’แƒแƒ›แƒแƒ•แƒ˜แƒงแƒ”แƒœแƒแƒ— แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ›แƒกแƒ’แƒแƒ•แƒกแƒ˜ แƒ›แƒแƒ‘แƒ˜แƒšแƒฃแƒ แƒ˜ แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ˜แƒก แƒกแƒ˜แƒกแƒขแƒ”แƒ›แƒ/KVM, แƒ แƒแƒ’แƒแƒ แƒช แƒกแƒแƒคแƒฃแƒซแƒ•แƒ”แƒšแƒ˜ แƒ’แƒ”แƒแƒ’แƒแƒœแƒแƒฌแƒ˜แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒจแƒ”แƒœแƒแƒฎแƒ•แƒ˜แƒก/แƒ•แƒ› แƒ™แƒšแƒแƒกแƒขแƒ”แƒ แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฅแƒ›แƒœแƒ”แƒšแƒแƒ“ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒ˜แƒ›แƒ” แƒ™แƒแƒœแƒขแƒ˜แƒœแƒ”แƒœแƒขแƒ–แƒ”, แƒกแƒแƒฎแƒšแƒ˜แƒก แƒ“แƒ”แƒกแƒ™แƒขแƒแƒžแƒ˜แƒก, แƒกแƒแƒฎแƒšแƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ แƒœแƒ”แƒขแƒ˜แƒกแƒ แƒ“แƒ P2P แƒฅแƒกแƒ”แƒšแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ—.

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ