LVM āĻāĻŦāĻ‚ Matryoshka āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ•āĻŋ āĻŽāĻŋāĻ˛ āĻ†āĻ›ā§‡?

āĻĻāĻŋāĻ¨ā§‡āĻ° āĻ¸ā§āĻ¨ā§āĻĻāĻ° āĻ¸āĻŽāĻ¯āĻŧ
āĻ†āĻŽāĻŋ md RAID + LVM āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ KVM-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĄā§‡āĻŸāĻž āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻ†āĻŽāĻžāĻ° āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻ…āĻ­āĻŋāĻœā§āĻžāĻ¤āĻž āĻ¸āĻŽā§āĻĒā§āĻ°āĻĻāĻžāĻ¯āĻŧā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻļā§‡āĻ¯āĻŧāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡āĨ¤

āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤ āĻšāĻŦā§‡:

  • NVMe SSD āĻĨā§‡āĻ•ā§‡ md RAID 1 āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡āĨ¤
  • SATA SSD āĻāĻŦāĻ‚ āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻŋāĻ¤ āĻĄā§āĻ°āĻžāĻ‡āĻ­ āĻĨā§‡āĻ•ā§‡ md RAID 6 āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻžāĨ¤
  • SSD RAID 1/6-āĻ TRIM/DSCARD āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĨ¤
  • āĻĄāĻŋāĻ¸ā§āĻ•ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ¸ā§‡āĻŸā§‡ āĻāĻ•āĻŸāĻŋ āĻŦā§āĻŸāĻ¯ā§‹āĻ—ā§āĻ¯ md RAID 1/6 āĻ…ā§āĻ¯āĻžāĻ°ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡āĨ¤
  • BIOS-āĻ NVMe āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¨āĻž āĻĨāĻžāĻ•āĻ˛ā§‡ NVMe RAID 1-āĻ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻžāĨ¤
  • LVM āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻāĻŦāĻ‚ LVM āĻĒāĻžāĻ¤āĻ˛āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤
  • BTRFS āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻŦā§āĻ¯āĻžāĻ•āĻ†āĻĒā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻžāĻ āĻžāĻ¨/āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°ā§āĻ¨āĨ¤
  • BTRFS āĻļā§ˆāĻ˛ā§€ āĻŦā§āĻ¯āĻžāĻ•āĻ†āĻĒā§‡āĻ° āĻœāĻ¨ā§āĻ¯ LVM āĻĒāĻžāĻ¤āĻ˛āĻž āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸ āĻāĻŦāĻ‚ thin_delta āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡āĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻ—ā§āĻ°āĻšā§€ āĻšāĻ˛ā§‡, āĻŦāĻŋāĻĄāĻŧāĻžāĻ˛ āĻĻā§‡āĻ–ā§āĻ¨.

āĻ†āĻŦā§‡āĻĻāĻ¨ āĻĢāĻ°ā§āĻŽ

āĻ˛ā§‡āĻ–āĻ• āĻāĻ‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ āĻĨā§‡āĻ•ā§‡ āĻ‰āĻĒāĻ•āĻ°āĻŖ/āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ/āĻ•ā§‹āĻĄ/āĻŸāĻŋāĻĒāĻ¸/āĻĄā§‡āĻŸāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻŦāĻž āĻ¨āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§‹āĻ¨ā§‹ āĻĻāĻžāĻ¯āĻŧ āĻŦāĻšāĻ¨ āĻ•āĻ°ā§‡āĻ¨ āĻ¨āĻžāĨ¤ āĻ•ā§‹āĻ¨ āĻ‰āĻĒāĻžāĻ¯āĻŧā§‡ āĻāĻ‡ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻŸāĻŋ āĻĒāĻĄāĻŧāĻžāĻ° āĻŦāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻāĻ‡ āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ•āĻ˛āĻžāĻĒā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻ°āĻŋāĻŖāĻ¤āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻĻāĻžāĻ¯āĻŧā§€āĨ¤ āĻ¸āĻŽā§āĻ­āĻžāĻŦā§āĻ¯ āĻĒāĻ°āĻŋāĻŖāĻ¤āĻŋ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤:

  • āĻ–āĻžāĻ¸ā§āĻ¤āĻž-āĻ­āĻžāĻœāĻž NVMe SSDsāĨ¤
  • āĻ°ā§‡āĻ•āĻ°ā§āĻĄāĻŋāĻ‚ āĻ°āĻŋāĻ¸ā§‹āĻ°ā§āĻ¸ āĻāĻŦāĻ‚ SSD āĻĄā§āĻ°āĻžāĻ‡āĻ­ā§‡āĻ° āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻž āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻ¯āĻŧāĨ¤
  • āĻŦā§āĻ¯āĻžāĻ•āĻ†āĻĒ āĻ•āĻĒāĻŋ āĻ¸āĻš āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄā§āĻ°āĻžāĻ‡āĻ­ā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄā§‡āĻŸāĻž āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ•ā§āĻˇāĻ¤āĻŋāĨ¤
  • āĻ¤ā§āĻ°ā§āĻŸāĻŋāĻĒā§‚āĻ°ā§āĻŖ āĻ•āĻŽā§āĻĒāĻŋāĻ‰āĻŸāĻžāĻ° āĻšāĻžāĻ°ā§āĻĄāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°āĨ¤
  • āĻ¸āĻŽāĻ¯āĻŧ, āĻ¸ā§āĻ¨āĻžāĻ¯āĻŧā§ āĻāĻŦāĻ‚ āĻ…āĻ°ā§āĻĨā§‡āĻ° āĻ…āĻĒāĻšāĻ¯āĻŧāĨ¤
  • āĻ‰āĻĒāĻ°ā§‡ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ­ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻž āĻ¯ā§‡ āĻ…āĻ¨ā§āĻ¯ āĻ•ā§‹āĻ¨ āĻĢāĻ˛āĻžāĻĢāĻ˛.

āĻ˛ā§‹āĻšāĻž

āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻ›āĻŋāĻ˛:

āĻŽāĻžāĻĻāĻžāĻ°āĻŦā§‹āĻ°ā§āĻĄ āĻĒā§āĻ°āĻžāĻ¯āĻŧ 2013 āĻĨā§‡āĻ•ā§‡ Z87 āĻšāĻŋāĻĒāĻ¸ā§‡āĻŸ āĻ¸āĻš, Intel Core i7 / Haswell āĻ¸āĻš āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĨ¤

  • āĻĒā§āĻ°āĻ¸ā§‡āĻ¸āĻ° 4 āĻ•ā§‹āĻ°, 8 āĻĨā§āĻ°ā§‡āĻĄ
  • 32 GB DDR3 RAM
  • 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 āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°ā§‡ āĻāĻ‡ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻ—ā§āĻ˛āĻŋ āĻŽā§‹āĻŸā§‡āĻ“ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ āĻ¨āĻ¯āĻŧ āĻāĻŦāĻ‚ HBA, āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ­āĻžāĻŦā§‡, āĻŦāĻžāĻ¸ā§‡ āĻ•ā§‹āĻ¨ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°ā§‡āĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¤āĻž āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°ā§‡ āĻ¨āĻžāĨ¤

āĻšāĻžāĻ°ā§āĻĄ āĻĄā§āĻ°āĻžāĻ‡āĻ­ - āĻ˛ā§āĻ¯āĻžāĻĒāĻŸāĻĒā§‡āĻ° āĻŽāĻ¤ā§‹ 8 āĻĢāĻ°ā§āĻŽ āĻĢā§āĻ¯āĻžāĻ•ā§āĻŸāĻ°ā§‡ 7 TB āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻ¸āĻš HGST Travelstar 1000K1-āĻāĻ° 2.5 āĻŸā§āĻ•āĻ°āĻžāĨ¤ āĻāĻ‡ āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻ—ā§āĻ˛āĻŋ āĻĒā§‚āĻ°ā§āĻŦā§‡ āĻāĻ•āĻŸāĻŋ RAID 6 āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ¤ā§‡ āĻ›āĻŋāĻ˛āĨ¤ āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ“ āĻ¤āĻžāĻĻā§‡āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻĨāĻžāĻ•āĻŦā§‡āĨ¤ āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧ āĻŦā§āĻ¯āĻžāĻ•āĻ†āĻĒ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻ¤ā§‡.

āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡:

6 āĻĒāĻŋāĻ¸ SATA SSD āĻŽāĻĄā§‡āĻ˛ Samsung 860 QVO 2TBāĨ¤ āĻāĻ‡ āĻāĻ¸āĻāĻ¸āĻĄāĻŋāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻŦāĻĄāĻŧ āĻ†āĻ¯āĻŧāĻ¤āĻ¨ā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨, āĻāĻ•āĻŸāĻŋ āĻāĻ¸āĻāĻ˛āĻ¸āĻŋ āĻ•ā§āĻ¯āĻžāĻļā§‡āĻ° āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ, āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¯ā§‹āĻ—ā§āĻ¯āĻ¤āĻž āĻāĻŦāĻ‚ āĻ•āĻŽ āĻĻāĻžāĻŽā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ›āĻŋāĻ˛ā§ˇ āĻŦāĻžāĻ¤āĻŋāĻ˛/āĻļā§‚āĻ¨ā§āĻ¯ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ›āĻŋāĻ˛, āĻ¯āĻž dmesg-āĻ āĻ˛āĻžāĻ‡āĻ¨ āĻĻā§āĻŦāĻžāĻ°āĻž āĻšā§‡āĻ• āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ:

kernel: ata1.00: Enabling discard_zeroes_data

NVMe SSD āĻŽāĻĄā§‡āĻ˛ā§‡āĻ° 2 āĻĒāĻŋāĻ¸ Samsung SSD 970 EVO 500GBāĨ¤

āĻāĻ‡ āĻāĻ¸āĻāĻ¸āĻĄāĻŋāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹āĻ­āĻžāĻŦā§‡ āĻĒāĻĄāĻŧāĻž/āĻ˛ā§‡āĻ–āĻžāĻ° āĻ—āĻ¤āĻŋ āĻāĻŦāĻ‚ āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨ āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖāĨ¤ āĻ¤āĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ°ā§‡āĻĄāĻŋāĻ¯āĻŧā§‡āĻŸāĻžāĻ°āĨ¤ āĻ…āĻ—āĻ¤ā§āĻ¯āĻžāĨ¤ āĻāĻ•ā§‡āĻŦāĻžāĻ°ā§‡āĨ¤ āĻ…āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ, āĻĒā§āĻ°āĻĨāĻŽ 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 RAIDs āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻ–ā§āĻ¯āĻžāĻ¨ āĻ‡āĻšā§āĻ›āĻžāĻ•ā§ƒāĻ¤āĻ­āĻžāĻŦā§‡ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛, āĻ¯āĻžāĻ¤ā§‡ SSD/HDD āĻŦāĻžāĻĻ āĻĻāĻŋāĻ¯āĻŧā§‡, āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§‡ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻ•ā§‡ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻšāĻ¯āĻŧāĨ¤ āĻ†āĻĻāĻ°ā§āĻļāĻ­āĻžāĻŦā§‡, āĻ¯āĻžāĻ¤ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¨āĻ¤ā§āĻ¨/āĻ­āĻŋāĻ¨ā§āĻ¨ āĻšāĻžāĻ°ā§āĻĄāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°ā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻŸāĻŋāĻ“ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻšāĻ˛ āĻ¯ā§‡ SATA āĻāĻŦāĻ‚ PCIe āĻĒā§‹āĻ°ā§āĻŸ āĻ†āĻ›ā§‡āĨ¤ āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ˛āĻžāĻ‡āĻ­ āĻ¸āĻŋāĻĄāĻŋ āĻŦāĻž āĻŦā§āĻŸā§‡āĻŦāĻ˛ āĻĢā§āĻ˛ā§āĻ¯āĻžāĻļ āĻĄā§āĻ°āĻžāĻ‡āĻ­ā§‡āĻ° āĻŽāĻ¤ā§‹, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ–ā§āĻŦ āĻĻā§āĻ°ā§āĻ¤ āĻāĻŦāĻ‚ āĻāĻ•āĻŸā§ āĻ­āĻžāĻ°ā§€ā§ˇ

āĻ§āĻžāĻ¤āĻ…āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ, āĻ†āĻĒāĻ¨āĻŋ āĻœāĻžāĻ¨ā§‡āĻ¨ āĻ•āĻŋ āĻ˜āĻŸāĻŦā§‡ - āĻ•āĻ–āĻ¨āĻ“ āĻ•āĻ–āĻ¨āĻ“ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ…āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§‡ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻŽāĻŋ āĻĄā§‡āĻŸāĻž āĻšāĻžāĻ°āĻžāĻ¤ā§‡ āĻšāĻžāĻ‡ āĻ¨āĻžāĨ¤ āĻāĻŸāĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ‰āĻ˛ā§āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŽāĻŋāĻĄāĻŋāĻ¯āĻŧāĻž āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻŽāĻ¤ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻ•ā§‡āĻ¸ā§‡āĻ° 5.25 āĻ‰āĻĒāĻ¸āĻžāĻ—āĻ°ā§‡āĻ° āĻ¸ā§āĻ˛āĻžāĻ‡āĻĄā§‡ āĻ…āĻŦāĻ¸ā§āĻĨāĻŋāĻ¤āĨ¤

āĻ­āĻžāĻ˛, āĻāĻŦāĻ‚, āĻ…āĻŦāĻļā§āĻ¯āĻ‡, āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ā§‡ āĻāĻ¸āĻāĻ¸āĻĄāĻŋ āĻ•ā§āĻ¯āĻžāĻļāĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒāĻĻā§āĻ§āĻ¤āĻŋ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯āĨ¤

āĻšāĻžāĻ°ā§āĻĄāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ…āĻ­āĻŋāĻ¯āĻžāĻ¨ āĻŦāĻŋāĻ°āĻ•ā§āĻ¤āĻŋāĻ•āĻ°āĨ¤ āĻāĻŸāĻŋ āĻšāĻžāĻ˛ā§ āĻ•āĻ°. āĻāĻŸāĻŋ āĻšāĻ¯āĻŧ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻŦāĻž āĻāĻŸāĻŋ āĻ•āĻ°ā§‡ āĻ¨āĻžāĨ¤ āĻāĻŦāĻ‚ mdadm āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŦāĻ¸āĻŽāĻ¯āĻŧ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻĨāĻžāĻ•ā§‡āĨ¤

āĻ¨āĻ°āĻŽ

āĻĒā§‚āĻ°ā§āĻŦā§‡, āĻĄā§‡āĻŦāĻŋāĻ¯āĻŧāĻžāĻ¨ 8 āĻœā§‡āĻ¸āĻŋ āĻšāĻžāĻ°ā§āĻĄāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°ā§‡ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛, āĻ¯āĻž EOL āĻāĻ° āĻ•āĻžāĻ›āĻžāĻ•āĻžāĻ›āĻŋāĨ¤ RAID 6 LVM āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§āĻ•ā§āĻ¤ āĻ‰āĻĒāĻ°ā§‡ āĻ‰āĻ˛ā§āĻ˛āĻŋāĻ–āĻŋāĻ¤ HDDs āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻāĻŸāĻŋ kvm/libvirt āĻ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻļāĻŋāĻ¨ āĻšāĻžāĻ˛āĻžāĻ¯āĻŧāĨ¤

āĻ•āĻžāĻ°āĻŖ āĻĒā§‹āĻ°ā§āĻŸā§‡āĻŦāĻ˛ āĻŦā§āĻŸā§‡āĻŦāĻ˛ SATA/NVMe āĻĢā§āĻ˛ā§āĻ¯āĻžāĻļ āĻĄā§āĻ°āĻžāĻ‡āĻ­ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ˛ā§‡āĻ–āĻ•ā§‡āĻ° āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤ āĻ…āĻ­āĻŋāĻœā§āĻžāĻ¤āĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻāĻŦāĻ‚ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤ āĻŸā§‡āĻŽāĻĒā§āĻ˛ā§‡āĻŸāĻŸāĻŋ āĻ¨āĻž āĻ­āĻžāĻ™āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ‰āĻŦā§āĻ¨ā§āĻŸā§ 18.04 āĻ•ā§‡ āĻŸāĻžāĻ°ā§āĻ—ā§‡āĻŸ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦā§‡āĻ›ā§‡ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛, āĻ¯āĻž āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ āĻ¯āĻĨā§‡āĻˇā§āĻŸ āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻļā§€āĻ˛ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ–āĻ¨āĻ“ 3 āĻŦāĻ›āĻ° āĻ†āĻ›ā§‡ āĻ­āĻŦāĻŋāĻˇā§āĻ¯āĻ¤ā§‡ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨āĨ¤

āĻ‰āĻ˛ā§āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻŦāĻžāĻ•ā§āĻ¸ā§‡āĻ° āĻŦāĻžāĻ‡āĻ°ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻšāĻžāĻ°ā§āĻĄāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ° āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§‹āĻ¨ā§‹ āĻ¤ā§ƒāĻ¤ā§€āĻ¯āĻŧ āĻĒāĻ•ā§āĻˇā§‡āĻ° āĻ¸āĻĢāĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻŦāĻž āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ°ā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¨ā§‡āĻ‡āĨ¤

āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤āĻŋ

āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻŸāĻŋ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ‰āĻŦā§āĻ¨ā§āĻŸā§ āĻĄā§‡āĻ¸ā§āĻ•āĻŸāĻĒ āĻšāĻŋāĻ¤ā§āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨āĨ¤ āĻ¸āĻžāĻ°ā§āĻ­āĻžāĻ° āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻāĻ•āĻ§āĻ°āĻ¨ā§‡āĻ° āĻœā§‹āĻ°āĻžāĻ˛ā§‹ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛āĻžāĻ° āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻž āĻ…āĻ¤ā§āĻ¯āĻ§āĻŋāĻ• āĻ¸ā§āĻŦāĻžāĻ§ā§€āĻ¨āĻ¤āĻž āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ āĻ¯āĻž UEFI āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻļāĻ¨āĻŸāĻŋāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻ¸ā§āĻ•ā§‡ āĻ ā§‡āĻ•āĻŋāĻ¯āĻŧā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸ā§ŒāĻ¨ā§āĻĻāĻ°ā§āĻ¯ āĻ¨āĻˇā§āĻŸ āĻ•āĻ°ā§‡ āĻ…āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻ¤āĻĻāĻ¨ā§āĻ¸āĻžāĻ°ā§‡, āĻāĻŸāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° UEFI āĻŽā§‹āĻĄā§‡ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ•ā§‹āĻ¨ā§‹ āĻ…āĻĒāĻļāĻ¨ āĻ…āĻĢāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¨āĻžāĨ¤

āĻāĻ¤ā§‡ āĻ†āĻŽāĻ°āĻž āĻ–ā§āĻļāĻŋ āĻ¨āĻ‡āĨ¤

āĻ•ā§‡āĻ¨?āĻĻā§āĻ°ā§āĻ­āĻžāĻ—ā§āĻ¯āĻŦāĻļāĻ¤, UEFI āĻŦā§āĻŸ āĻŦā§āĻŸ āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° RAID āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ…āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻ–āĻžāĻ°āĻžāĻĒāĻ­āĻžāĻŦā§‡ āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯āĻĒā§‚āĻ°ā§āĻŖ, āĻ•āĻžāĻ°āĻŖ... UEFI ESP āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§‡āĻ‰ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ°āĻŋāĻœāĻžāĻ°ā§āĻ­ā§‡āĻļāĻ¨ āĻĻā§‡āĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨ā§‡ āĻāĻŽāĻ¨ āĻ°ā§‡āĻ¸āĻŋāĻĒāĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž āĻāĻ•āĻŸāĻŋ USB āĻĒā§‹āĻ°ā§āĻŸā§‡ āĻāĻ•āĻŸāĻŋ āĻĢā§āĻ˛ā§āĻ¯āĻžāĻļ āĻĄā§āĻ°āĻžāĻ‡āĻ­ā§‡ ESP āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻļāĻ¨ āĻ°āĻžāĻ–āĻžāĻ° āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻā§‡āĻ¯āĻŧ, āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ¨ā§āĻĻā§āĨ¤ āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻž āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ 1 āĻ¸āĻš āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° mdadm RAID 0.9 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻŽāĻ¨ āĻ°ā§‡āĻ¸āĻŋāĻĒāĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž UEFI BIOS āĻ•ā§‡ āĻāĻ‡ āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻļāĻ¨āĻŸāĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻŦāĻžāĻ§āĻž āĻĻā§‡āĻ¯āĻŧ āĻ¨āĻž, āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻ¸ā§‡āĻ‡ āĻ¸ā§āĻ–ā§€ āĻŽā§āĻšā§‚āĻ°ā§āĻ¤ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻŦā§‡āĻāĻšā§‡ āĻĨāĻžāĻ•ā§‡ āĻ¯āĻ–āĻ¨ BIOS āĻŦāĻž āĻ…āĻ¨ā§āĻ¯ āĻšāĻžāĻ°ā§āĻĄāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° OS ESP-āĻ¤ā§‡ āĻ•āĻŋāĻ›ā§ āĻ˛āĻŋāĻ–ā§‡ āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¯ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœ āĻ•āĻ°āĻ¤ā§‡ āĻ­ā§āĻ˛ā§‡ āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻ†āĻ¯āĻŧāĻ¨āĻž

āĻ‰āĻĒāĻ°āĻ¨ā§āĻ¤ā§, UEFI āĻŦā§āĻŸ NVRAM āĻāĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡, āĻ¯āĻž āĻĄāĻŋāĻ¸ā§āĻ•ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻ¸āĻ°āĻžāĻ¨ā§‹ āĻšāĻŦā§‡ āĻ¨āĻž, āĻ•āĻžāĻ°āĻŖ āĻŽāĻžāĻĻāĻžāĻ°āĻŦā§‹āĻ°ā§āĻĄā§‡āĻ° āĻ…āĻ‚āĻļāĨ¤

āĻ¸ā§āĻ¤āĻ°āĻžāĻ‚, āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻšāĻžāĻ•āĻž āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ‰āĻĻā§āĻ­āĻžāĻŦāĻ¨ āĻ•āĻ°āĻž āĻšāĻŦā§‡ āĻ¨āĻž. āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻžāĻ›ā§‡ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ āĻāĻ•āĻŸāĻŋ āĻ°ā§‡āĻĄāĻŋāĻŽā§‡āĻĄ, āĻ¸āĻŽāĻ¯āĻŧ-āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻŋāĻ¤ āĻĻāĻžāĻĻāĻžāĻ° āĻŦāĻžāĻ‡āĻ• āĻ†āĻ›ā§‡, āĻ¯āĻžāĻ•ā§‡ āĻāĻ–āĻ¨ āĻ˛āĻŋāĻ—ā§āĻ¯āĻžāĻ¸āĻŋ/BIOS āĻŦā§āĻŸ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ, āĻ¯āĻž UEFI- āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯āĻĒā§‚āĻ°ā§āĻŖ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ CSM-āĻāĻ° āĻ—āĻ°ā§āĻŦāĻŋāĻ¤ āĻ¨āĻžāĻŽ āĻŦāĻšāĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻŋāĻ•ā§‡ āĻ¤āĻžāĻ• āĻĨā§‡āĻ•ā§‡ āĻ¸āĻ°āĻŋāĻ¯āĻŧā§‡ āĻ¨ā§‡āĻŦ, āĻāĻŸāĻŋ āĻ˛ā§āĻŦā§āĻ°āĻŋāĻ•ā§‡āĻŸ āĻ•āĻ°āĻŦ, āĻŸāĻžāĻ¯āĻŧāĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻĒāĻžāĻŽā§āĻĒ āĻ•āĻ°āĻŦ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ­ā§‡āĻœāĻž āĻ•āĻžāĻĒāĻĄāĻŧ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻŽā§āĻ›ā§āĻŦāĨ¤

āĻ‰āĻŦā§āĻ¨ā§āĻŸā§āĻ° āĻĄā§‡āĻ¸ā§āĻ•āĻŸāĻĒ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖāĻŸāĻŋāĻ“ āĻ˛āĻŋāĻ—ā§āĻ¯āĻžāĻ¸āĻŋ āĻŦā§āĻŸāĻ˛ā§‹āĻĄāĻžāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧ āĻ¨āĻž, āĻ¤āĻŦā§‡ āĻāĻ–āĻžāĻ¨ā§‡, āĻ¯ā§‡āĻŽāĻ¨ āĻ¤āĻžāĻ°āĻž āĻŦāĻ˛ā§‡, āĻ…āĻ¨ā§āĻ¤āĻ¤ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻāĻŦāĻ‚ āĻ¤āĻžāĻ‡, āĻ†āĻŽāĻ°āĻž āĻšāĻžāĻ°ā§āĻĄāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ¸āĻ‚āĻ—ā§āĻ°āĻš āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ āĻ‰āĻŦā§āĻ¨ā§āĻŸā§ āĻ˛āĻžāĻ‡āĻ­ āĻŦā§āĻŸā§‡āĻŦāĻ˛ āĻĢā§āĻ˛ā§āĻ¯āĻžāĻļ āĻĄā§āĻ°āĻžāĻ‡āĻ­ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻŸāĻŋ āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻŋāĨ¤ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡, āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻ°āĻž āĻ†āĻĒāĻ¨āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻāĻŽāĻ¨ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°āĻŦāĨ¤ āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋ āĻ•āĻžāĻœ āĻ¨āĻž āĻ•āĻ°ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ†āĻ—ā§‡ āĻĨā§‡āĻ•ā§‡āĻ‡ āĻāĻ•āĻŸāĻŋ āĻĢā§āĻ˛ā§āĻ¯āĻžāĻļ āĻĄā§āĻ°āĻžāĻ‡āĻ­ā§‡ āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

āĻ†āĻŽāĻ°āĻž āĻĄā§‡āĻ¸ā§āĻ•āĻŸāĻĒ āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡ āĻ¯āĻžāĻ‡, āĻŸāĻžāĻ°ā§āĻŽāĻŋāĻ¨āĻžāĻ˛ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻž āĻšāĻ˛ā§‡ āĻ¯āĻžāĻ‡:

#sudo bash

āĻ•āĻŋāĻ­āĻžāĻŦā§‡...?āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ˛āĻžāĻ‡āĻ¨āĻŸāĻŋ āĻšāĻ˛ āĻ¸ā§āĻĄā§‹ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻšā§‹āĻ˛āĻŋāĻ“āĻ¯āĻŧāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§āĻ¯āĻžāĻ¨ā§‹āĻ¨āĻŋāĻ•āĻžāĻ˛ āĻŸā§āĻ°āĻŋāĻ—āĻžāĻ°āĨ¤ āĻ— āĻ–ĐžāĻŦā§ƒāĻšāĻ¤ā§āĻ¤āĻ° āĻ¸ā§āĻ¯ā§‹āĻ— āĻ†āĻ¸ā§‡ āĻāĻŦāĻ‚ĐžāĻŦā§ƒāĻšāĻ¤ā§āĻ¤āĻ° āĻĻāĻžāĻ¯āĻŧāĻŋāĻ¤ā§āĻŦāĨ¤ āĻĒā§āĻ°āĻļā§āĻ¨ āĻšāĻ˛ āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻž āĻ¨āĻŋāĻœā§‡āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡āĻ¨ āĻ•āĻŋāĻ¨āĻžāĨ¤ āĻ…āĻ¨ā§‡āĻ•ā§‡ āĻŽāĻ¨ā§‡ āĻ•āĻ°ā§‡āĻ¨ āĻ¯ā§‡ āĻāĻ‡āĻ­āĻžāĻŦā§‡ āĻ¸ā§āĻĄā§‹ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ…āĻ¨ā§āĻ¤āĻ¤ āĻ¸āĻ¤āĻ°ā§āĻ• āĻ¨āĻ¯āĻŧāĨ¤ āĻ¯āĻžāĻšā§‹āĻ•:

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

āĻ•ā§‡āĻ¨ ZFS āĻ¨āĻž...?āĻ¯āĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻŽā§āĻĒāĻŋāĻ‰āĻŸāĻžāĻ°ā§‡ āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻŋ, āĻ¤āĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž āĻŽā§‚āĻ˛āĻ¤ āĻāĻ‡ āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻŸāĻŋāĻ° āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻĄā§āĻ°āĻžāĻ‡āĻ­ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻšāĻžāĻ°ā§āĻĄāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ§āĻžāĻ° āĻĻāĻŋāĻ‡ā§ˇ
āĻ¯āĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĄā§‡āĻŸāĻžāĻ° āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ‡ āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻŸāĻŋāĻ•ā§‡ āĻŦāĻŋāĻļā§āĻŦāĻžāĻ¸ āĻ•āĻ°āĻŋ, āĻ¤āĻ–āĻ¨ āĻ†āĻŽāĻ°āĻž āĻāĻ‡ āĻĄā§‡āĻŸāĻž āĻĒā§āĻ¨āĻ°ā§āĻĻā§āĻ§āĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ–āĻ°āĻšā§‡āĻ° āĻ¸āĻŽāĻžāĻ¨ āĻāĻ•āĻŸāĻŋ āĻ‹āĻŖ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻĨāĻžāĻ•āĻŋ, āĻ¯āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ•āĻĻāĻŋāĻ¨ āĻĒāĻ°āĻŋāĻļā§‹āĻ§ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤

āĻāĻ‡ āĻĻā§ƒāĻˇā§āĻŸāĻŋāĻ•ā§‹āĻŖ āĻĨā§‡āĻ•ā§‡, ZFS āĻāĻ•āĻŸāĻŋ āĻĢā§‡āĻ°āĻžāĻ°āĻŋ, āĻāĻŦāĻ‚ mdadm+lvm āĻ…āĻ¨ā§‡āĻ•āĻŸāĻž āĻ¸āĻžāĻ‡āĻ•ā§‡āĻ˛ā§‡āĻ° āĻŽāĻ¤ā§‹āĨ¤

āĻŦāĻŋāĻˇāĻ¯āĻŧāĻ—āĻ¤āĻ­āĻžāĻŦā§‡, āĻ˛ā§‡āĻ–āĻ• āĻĢā§‡āĻ°āĻžāĻ°āĻŋāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻ…āĻœāĻžāĻ¨āĻž āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻĻā§‡āĻ° āĻ•ā§āĻ°ā§‡āĻĄāĻŋāĻŸā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ‡āĻ•ā§‡āĻ˛ āĻ§āĻžāĻ° āĻĻāĻŋāĻ¤ā§‡ āĻĒāĻ›āĻ¨ā§āĻĻ āĻ•āĻ°ā§‡āĻ¨āĨ¤ āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ‡āĻ¸ā§āĻ¯ā§āĻŸāĻŋāĻ° āĻĻāĻžāĻŽ āĻŦā§‡āĻļāĻŋ āĻ¨āĻ¯āĻŧāĨ¤ āĻ…āĻ§āĻŋāĻ•āĻžāĻ°ā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¨ā§‡āĻ‡āĨ¤ āĻŸā§āĻ°āĻžāĻĢāĻŋāĻ• āĻ¨āĻŋāĻ¯āĻŧāĻŽā§‡āĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻ¸āĻšāĻœāĨ¤ āĻĒāĻžāĻ°ā§āĻ•āĻŋāĻ‚ āĻŦāĻŋāĻ¨āĻžāĻŽā§‚āĻ˛ā§āĻ¯ā§‡. āĻ•ā§āĻ°āĻ¸-āĻ•āĻžāĻ¨ā§āĻŸā§āĻ°āĻŋ āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻ†āĻ°āĻ“ āĻ­āĻžāĻ˛āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ‡āĻ•ā§‡āĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĒāĻž āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻŋ āĻ¨āĻŋāĻœā§‡āĻ° āĻšāĻžāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ‡āĻ•ā§‡āĻ˛ āĻŽā§‡āĻ°āĻžāĻŽāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

āĻ¤āĻžāĻšāĻ˛ā§‡ BTRFS āĻ•ā§‡āĻ¨...?āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻŦā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĻāĻ°āĻ•āĻžāĻ° āĻ¯āĻž āĻŦāĻžāĻ•ā§āĻ¸ā§‡āĻ° āĻŦāĻžāĻ‡āĻ°ā§‡ Legacy/BIOS GRUB-āĻ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤, āĻāĻŦāĻ‚ āĻāĻ•āĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡ āĻ˛āĻžāĻ‡āĻ­ āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°ā§‡āĨ¤ āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻŋāĻ•ā§‡ /boot āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦāĨ¤ āĻ‰āĻĒāĻ°āĻ¨ā§āĻ¤ā§, āĻ˛ā§‡āĻ–āĻ• āĻāĻ‡ FS-āĻāĻ° āĻœāĻ¨ā§āĻ¯ / (root) āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻ›āĻ¨ā§āĻĻ āĻ•āĻ°ā§‡āĻ¨, āĻ…āĻ¨ā§āĻ¯ āĻ¯ā§‡āĻ•ā§‹āĻ¨ āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻĒāĻ¨āĻŋ LVM-āĻ āĻĒā§ƒāĻĨāĻ• āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻļāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŽāĻžāĻ‰āĻ¨ā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻ­ā§āĻ˛āĻŦā§‡āĻ¨ āĻ¨āĻžāĨ¤

āĻ†āĻŽāĻ°āĻž āĻāĻ‡ FS-āĻ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻļāĻŋāĻ¨ āĻŦāĻž āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻ•ā§‹āĻ¨ā§‹ āĻ›āĻŦāĻŋ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻŦ āĻ¨āĻžāĨ¤
āĻāĻ‡ FS āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻŦā§‡ āĻāĻŸāĻŋ āĻŦāĻ¨ā§āĻ§ āĻ¨āĻž āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ° āĻāĻ‡ āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸāĻ—ā§āĻ˛āĻŋ āĻĒāĻžāĻ āĻžāĻ¨/āĻĒā§āĻ°āĻžāĻĒā§āĻ¤āĻŋāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ¯āĻžāĻ•āĻ†āĻĒ āĻĄāĻŋāĻ¸ā§āĻ•ā§‡ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤

āĻ‰āĻĒāĻ°āĻ¨ā§āĻ¤ā§, āĻ˛ā§‡āĻ–āĻ• āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ āĻšāĻžāĻ°ā§āĻĄāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°ā§‡ āĻ¨ā§āĻ¯ā§‚āĻ¨āĻ¤āĻŽ āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ°āĻžāĻ–āĻ¤ā§‡ āĻĒāĻ›āĻ¨ā§āĻĻ āĻ•āĻ°ā§‡āĻ¨ āĻāĻŦāĻ‚ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻšāĻžāĻ˛āĻžāĻ¤ā§‡ āĻšāĻžāĻ¨ āĻ¯ā§‡āĻŽāĻ¨ āĻœāĻŋāĻĒāĻŋāĻ‡āĻ‰ āĻāĻŦāĻ‚ āĻĒāĻŋāĻ¸āĻŋāĻ†āĻ‡-āĻ‡āĻ‰āĻāĻ¸āĻŦāĻŋ āĻšā§‹āĻ¸ā§āĻŸ āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛āĻžāĻ°āĻ•ā§‡ āĻ†āĻ‡āĻ“āĻāĻŽāĻāĻŽāĻ‡āĻ‰-āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ•ā§‡āĻ­āĻŋāĻāĻŽ-āĻ āĻĢāĻ°āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻ•āĻ°āĻžāĻ° āĻŽāĻ¤ā§‹ āĻœāĻŋāĻ¨āĻŋāĻ¸āĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤

āĻšāĻžāĻ°ā§āĻĄāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°ā§‡ āĻ…āĻŦāĻļāĻŋāĻˇā§āĻŸ āĻœāĻŋāĻ¨āĻŋāĻ¸āĻ—ā§āĻ˛āĻŋ āĻš'āĻ˛ āĻĄā§‡āĻŸāĻž āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ, āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛āĻžāĻ‡āĻœā§‡āĻļāĻ¨ āĻāĻŦāĻ‚ āĻŦā§āĻ¯āĻžāĻ•āĻ†āĻĒāĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ ZFS-āĻ•ā§‡ āĻ†āĻ°āĻ“ āĻŦāĻŋāĻļā§āĻŦāĻžāĻ¸ āĻ•āĻ°ā§‡āĻ¨, āĻ¤āĻŦā§‡ āĻ¨ā§€āĻ¤āĻŋāĻ—āĻ¤āĻ­āĻžāĻŦā§‡, āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¤āĻžāĻ°āĻž āĻŦāĻŋāĻ¨āĻŋāĻŽāĻ¯āĻŧāĻ¯ā§‹āĻ—ā§āĻ¯āĨ¤

āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ˛ā§‡āĻ–āĻ• āĻ‡āĻšā§āĻ›āĻžāĻ•ā§ƒāĻ¤āĻ­āĻžāĻŦā§‡ ZFS, BRTFS āĻāĻŦāĻ‚ LVM-āĻāĻ° āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻŽāĻŋāĻ°āĻ°āĻŋāĻ‚/RAID āĻāĻŦāĻ‚ āĻ°āĻŋāĻĄāĻžāĻ¨āĻĄā§‡āĻ¨ā§āĻ¸āĻŋ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ‰āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨āĨ¤

āĻāĻ•āĻŸāĻŋ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§‡, BTRFS-āĻāĻ° āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻ˛ā§‡āĻ–āĻžāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ•ā§āĻ°āĻŽāĻŋāĻ• āĻ˛ā§‡āĻ–āĻžāĻ¯āĻŧ āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¯āĻž HDD-āĻ āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸ/āĻŦā§āĻ¯āĻžāĻ•āĻ†āĻĒāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœā§‡āĻļāĻ¨ā§‡āĻ° āĻ—āĻ¤āĻŋāĻ¤ā§‡ āĻ…āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻ‡āĻ¤āĻŋāĻŦāĻžāĻšāĻ• āĻĒā§āĻ°āĻ­āĻžāĻŦ āĻĢā§‡āĻ˛ā§‡āĨ¤

āĻ†āĻ¸ā§āĻ¨ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ¨ āĻ•āĻ°āĻŋ:

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

āĻ†āĻ¸ā§āĻ¨ āĻšāĻžāĻ°āĻĒāĻžāĻļā§‡ āĻ¤āĻžāĻ•āĻžāĻ‡:

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

āĻĄāĻŋāĻ¸ā§āĻ• āĻ˛ā§‡āĻ†āĻ‰āĻŸ

NVMe āĻāĻ¸āĻāĻ¸āĻĄāĻŋ

āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻŽāĻ°āĻž āĻ•ā§‹āĻ¨ā§‹āĻ­āĻžāĻŦā§‡āĻ‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻšāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻ•āĻ°āĻŦ āĻ¨āĻžāĨ¤ āĻāĻ•āĻ‡, āĻ†āĻŽāĻžāĻĻā§‡āĻ° BIOS āĻāĻ‡ āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻ—ā§āĻ˛āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻ¸ā§āĻ¤āĻ°āĻžāĻ‚, āĻ¤āĻžāĻ°āĻž āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° RAID-āĻ āĻ¯āĻžāĻŦā§‡āĨ¤ āĻ†āĻŽāĻ°āĻž āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻŦāĻŋāĻ­āĻžāĻ— āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦ āĻ¨āĻžāĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ "āĻ•ā§āĻ¯āĻžāĻ¨āĻ¨" āĻŦāĻž "āĻĒā§āĻ°āĻ§āĻžāĻ¨āĻ­āĻžāĻŦā§‡" āĻ…āĻ¨ā§āĻ¸āĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻāĻ•āĻŸāĻŋ HDD-āĻāĻ° āĻŽāĻ¤ā§‹ āĻāĻ•āĻŸāĻŋ āĻŦāĻĄāĻŧ āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻļāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨āĨ¤

SATA HDD

āĻāĻ–āĻžāĻ¨ā§‡ āĻŦāĻŋāĻļā§‡āĻˇ āĻ•āĻŋāĻ›ā§ āĻ‰āĻĻā§āĻ­āĻžāĻŦāĻ¨ā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¨ā§‡āĻ‡āĨ¤ āĻ†āĻŽāĻ°āĻž āĻ¸āĻŦāĻ•āĻŋāĻ›ā§āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ­āĻžāĻ— āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦāĨ¤ āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻļāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦ āĻ•āĻžāĻ°āĻŖ BIOS āĻāĻ‡ āĻĄāĻŋāĻ¸ā§āĻ•āĻ—ā§āĻ˛āĻŋ āĻĻā§‡āĻ–ā§‡ āĻāĻŦāĻ‚ āĻāĻŽāĻ¨āĻ•āĻŋ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻĨā§‡āĻ•ā§‡ āĻŦā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ†āĻŽāĻ°āĻž āĻĒāĻ°ā§‡ āĻāĻ‡ āĻĄāĻŋāĻ¸ā§āĻ•āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ GRUB āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻŦ āĻ¯āĻžāĻ¤ā§‡ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻŸāĻŋ āĻšāĻ āĻžā§Ž āĻ•āĻ°ā§‡ āĻāĻŸāĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

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

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

āĻ¸āĻžāĻŸāĻž āĻāĻ¸āĻāĻ¸āĻĄāĻŋ

āĻāĻ–āĻžāĻ¨ā§‡ āĻœāĻŋāĻ¨āĻŋāĻ¸āĻ—ā§āĻ˛āĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻ•āĻ°ā§āĻˇāĻŖā§€āĻ¯āĻŧ āĻšāĻ¯āĻŧā§‡ āĻ“āĻ ā§‡āĨ¤

āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĄā§āĻ°āĻžāĻ‡āĻ­ā§‡āĻ° āĻ†āĻ•āĻžāĻ° 2 āĻŸāĻŋāĻŦāĻŋāĨ¤ āĻāĻŸāĻŋ āĻāĻŽāĻŦāĻŋāĻ†āĻ°-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ—ā§āĻ°āĻšāĻŖāĻ¯ā§‹āĻ—ā§āĻ¯ āĻ¸ā§€āĻŽāĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡, āĻ¯āĻž āĻ†āĻŽāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦāĨ¤ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§‡, GPT āĻĻāĻŋāĻ¯āĻŧā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ GPT āĻĄāĻŋāĻ¸ā§āĻ•āĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯ āĻ¸ā§āĻ¤āĻ° āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯āĻž MBR- āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯āĻĒā§‚āĻ°ā§āĻŖ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻĒā§āĻ°āĻĨāĻŽ 4āĻŸāĻŋ āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻļāĻ¨ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ āĻ¯āĻĻāĻŋ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋ āĻĒā§āĻ°āĻĨāĻŽ 2 āĻŸā§‡āĻ°āĻžāĻŦāĻžāĻ‡āĻŸā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻŽā§‚āĻ˛ āĻŦāĻŋāĻˇāĻ¯āĻŧ āĻšāĻ˛ āĻāĻ‡ āĻĄāĻŋāĻ¸ā§āĻ•āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŦā§āĻŸ āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻļāĻ¨ āĻāĻŦāĻ‚ bios_grub āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻļāĻ¨ āĻļā§āĻ°ā§āĻ¤ā§‡ āĻĨāĻžāĻ•āĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤ āĻāĻŽāĻ¨āĻ•āĻŋ āĻāĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ GPT āĻ˛āĻŋāĻ—ā§āĻ¯āĻžāĻ¸āĻŋ/BIOS āĻĄā§āĻ°āĻžāĻ‡āĻ­ āĻĨā§‡āĻ•ā§‡ āĻŦā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ¯āĻŧāĨ¤

āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŸāĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ¨āĻ¯āĻŧāĨ¤

āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž āĻĻā§āĻŸāĻŋ āĻŦāĻŋāĻ­āĻžāĻ— āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦāĨ¤ āĻĒā§āĻ°āĻĨāĻŽāĻŸāĻŋāĻ° āĻ†āĻ•āĻžāĻ° āĻšāĻŦā§‡ 1 GB āĻāĻŦāĻ‚ āĻāĻŸāĻŋ RAID 1/boot-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻšāĻŦā§‡āĨ¤

āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧāĻŸāĻŋ RAID 6 āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻĄā§āĻ°āĻžāĻ‡āĻ­ā§‡āĻ° āĻļā§‡āĻˇā§‡ āĻāĻ•āĻŸāĻŋ āĻ›ā§‹āĻŸ āĻ…āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻŋāĻ¤ āĻāĻ˛āĻžāĻ•āĻž āĻŦā§āĻ¯āĻ¤ā§€āĻ¤ āĻŦāĻžāĻ•āĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĢāĻžāĻāĻ•āĻž āĻ¸ā§āĻĨāĻžāĻ¨ āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°āĻŦā§‡āĨ¤

āĻāĻ‡ āĻ…āĻšāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻāĻ˛āĻžāĻ•āĻž āĻ•āĻŋ?āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•ā§‡āĻ° āĻ¸ā§‚āĻ¤ā§āĻ° āĻ…āĻ¨ā§āĻ¸āĻžāĻ°ā§‡, āĻ†āĻŽāĻžāĻĻā§‡āĻ° SATA SSD-āĻ¤ā§‡ 6 āĻĨā§‡āĻ•ā§‡ 78 āĻ—āĻŋāĻ—āĻžāĻŦāĻžāĻ‡āĻŸ āĻ†āĻ•āĻžāĻ°ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ—āĻ¤āĻŋāĻļā§€āĻ˛āĻ­āĻžāĻŦā§‡ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŖāĻ¯ā§‹āĻ—ā§āĻ¯ SLC āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻĄā§āĻ°āĻžāĻ‡āĻ­ā§‡āĻ° āĻĄā§‡āĻŸāĻž āĻļā§€āĻŸā§‡ "āĻ—āĻŋāĻ—āĻžāĻŦāĻžāĻ‡āĻŸ" āĻāĻŦāĻ‚ "āĻ—āĻŋāĻŦāĻŋāĻŦāĻžāĻ‡āĻŸ" āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯ā§‡āĻ° āĻ•āĻžāĻ°āĻŖā§‡ āĻ†āĻŽāĻ°āĻž 6 āĻ—āĻŋāĻ—āĻžāĻŦāĻžāĻ‡āĻŸ "āĻŦāĻŋāĻ¨āĻžāĻŽā§‚āĻ˛ā§āĻ¯ā§‡" āĻĒāĻžāĻ‡āĨ¤ āĻ…āĻŦāĻļāĻŋāĻˇā§āĻŸ 72 āĻ—āĻŋāĻ—āĻžāĻŦāĻžāĻ‡āĻŸ āĻ…āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻ¸ā§āĻĨāĻžāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

āĻāĻ–āĻžāĻ¨ā§‡ āĻāĻŸāĻŋ āĻ˛āĻ•ā§āĻˇ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¯ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻāĻ¸āĻāĻ˛āĻ¸āĻŋ āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ¸ā§āĻĨāĻžāĻ¨āĻŸāĻŋ 4 āĻŦāĻŋāĻŸ āĻāĻŽāĻāĻ˛āĻ¸āĻŋ āĻŽā§‹āĻĄā§‡ āĻĻāĻ–āĻ˛ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ¯āĻžāĻ° āĻ…āĻ°ā§āĻĨ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°āĻ­āĻžāĻŦā§‡ āĻĒā§āĻ°āĻ¤āĻŋ 4 āĻ—āĻŋāĻ—āĻžāĻŦāĻžāĻ‡āĻŸ āĻ–āĻžāĻ˛āĻŋ āĻ¸ā§āĻĨāĻžāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻŽāĻ°āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° 1 āĻ—āĻŋāĻ—āĻžāĻŦāĻžāĻ‡āĻŸ SLC āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻĒāĻžāĻŦāĨ¤

72 āĻ—āĻŋāĻ—āĻžāĻŦāĻžāĻ‡āĻŸāĻ•ā§‡ 4 āĻĻā§āĻŦāĻžāĻ°āĻž āĻ—ā§āĻŖ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ 288 āĻ—āĻŋāĻ—āĻžāĻŦāĻžāĻ‡āĻŸ āĻĒāĻžāĻ¨āĨ¤ āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ SLC āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŸāĻŋ āĻāĻŽāĻ¨ āĻ–āĻžāĻ˛āĻŋ āĻ¸ā§āĻĨāĻžāĻ¨ āĻ¯āĻž āĻ†āĻŽāĻ°āĻž āĻšāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻ•āĻ°āĻŦ āĻ¨āĻžāĨ¤

āĻāĻ‡āĻ­āĻžāĻŦā§‡, āĻ†āĻŽāĻ°āĻž āĻŽā§‹āĻŸ āĻ›āĻ¯āĻŧāĻŸāĻŋ āĻĄā§āĻ°āĻžāĻ‡āĻ­ āĻĨā§‡āĻ•ā§‡ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°āĻ­āĻžāĻŦā§‡ 312 āĻ—āĻŋāĻ—āĻžāĻŦāĻžāĻ‡āĻŸ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ SLC āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻĒāĻžāĻŦāĨ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄā§āĻ°āĻžāĻ‡āĻ­ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡, 2āĻŸāĻŋ āĻ…āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧāĻ¤āĻžāĻ° āĻœāĻ¨ā§āĻ¯ RAID-āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤

āĻāĻ‡ āĻĒāĻ°āĻŋāĻŽāĻžāĻŖ āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ°āĻ•ā§‡ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻœā§€āĻŦāĻ¨ā§‡ āĻ–ā§āĻŦ āĻ•āĻŽāĻ‡ āĻāĻŽāĻ¨ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ° āĻŽā§āĻ–ā§‹āĻŽā§āĻ–āĻŋ āĻšāĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻ˛ā§‡āĻ–āĻž āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ¯āĻžāĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻāĻŸāĻŋ QLC āĻŽā§‡āĻŽāĻ°āĻŋāĻ° āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻĻā§āĻƒāĻ–āĻœāĻ¨āĻ• āĻ¤ā§āĻ°ā§āĻŸāĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻ­āĻžāĻ˛āĻ­āĻžāĻŦā§‡ āĻ•ā§āĻˇāĻ¤āĻŋāĻĒā§‚āĻ°āĻŖ āĻĻā§‡āĻ¯āĻŧ - āĻ¯āĻ–āĻ¨ āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻŦāĻžāĻ‡āĻĒāĻžāĻ¸ āĻ•āĻ°ā§‡ āĻĄā§‡āĻŸāĻž āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧ āĻ¤āĻ–āĻ¨ āĻ˛ā§‡āĻ–āĻžāĻ° āĻ—āĻ¤āĻŋ āĻ…āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻ•āĻŽāĨ¤ āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ˛ā§‹āĻĄāĻ—ā§āĻ˛āĻŋ āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯āĻĒā§‚āĻ°ā§āĻŖ āĻ¨āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻŦā§‡ āĻ†āĻŽāĻŋ āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻāĻŋāĻšā§āĻ›āĻŋ āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻĄā§‡āĻŸāĻž āĻļā§€āĻŸ āĻĨā§‡āĻ•ā§‡ āĻŸāĻŋāĻŦāĻŋāĻĄāĻŦā§āĻ˛āĻŋāĻ‰ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°ā§‡ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ˛ā§‹āĻĄā§‡āĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻāĻ¸āĻāĻ¸āĻĄāĻŋ āĻ•āĻ¤āĻ•ā§āĻˇāĻŖ āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§€ āĻšāĻŦā§‡ āĻ¸ā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ•āĻ ā§‹āĻ°āĻ­āĻžāĻŦā§‡ āĻšāĻŋāĻ¨ā§āĻ¤āĻž āĻ•āĻ°ā§āĻ¨āĨ¤

#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 āĻāĻ¸āĻāĻ¸āĻĄāĻŋ

#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 āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯, RAID 1 DISCARD āĻŦāĻžāĻ•ā§āĻ¸ā§‡āĻ° āĻŦāĻžāĻ‡āĻ°ā§‡ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤āĨ¤

SSD RAID 6 āĻĄāĻŋāĻ¸āĻ•āĻžāĻ°ā§āĻĄ āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°ā§‡ āĻāĻŸāĻŋ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤

āĻāĻ‡ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡ āĻ˛ā§‡āĻ­ā§‡āĻ˛ 4/5/6 āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ SSD-āĻ discard_zeroes_data-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°ā§€ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻĨāĻžāĻ•āĻ˛ā§‡āĻ‡ āĻāĻŸāĻŋ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤ āĻ•āĻ–āĻ¨āĻ“ āĻ•āĻ–āĻ¨āĻ“ āĻ†āĻĒāĻ¨āĻŋ āĻ…āĻĻā§āĻ­ā§āĻ¤ āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻ—ā§āĻ˛āĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ¨ āĻ¯āĻž āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛āĻ•ā§‡ āĻŦāĻ˛ā§‡ āĻ¯ā§‡ āĻāĻ‡ āĻĢāĻžāĻ‚āĻļāĻ¨āĻŸāĻŋ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻ¸āĻ˛ā§‡ āĻāĻŸāĻŋ āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ¨ā§‡āĻ‡, āĻŦāĻž āĻĢāĻžāĻ‚āĻļāĻ¨āĻŸāĻŋ āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¨āĻžāĨ¤ āĻāĻ‡ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§‡, āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻ¸āĻ°ā§āĻŦāĻ¤ā§āĻ° āĻ‰āĻĒāĻ˛āĻŦā§āĻ§, āĻ¤āĻŦā§‡, āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ¸āĻš āĻĒā§āĻ°āĻžāĻ¨ā§‹ āĻĄā§āĻ°āĻžāĻ‡āĻ­ āĻāĻŦāĻ‚ āĻĢāĻžāĻ°ā§āĻŽāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ†āĻ›ā§‡āĨ¤ āĻāĻ‡ āĻ•āĻžāĻ°āĻŖā§‡, āĻĄāĻŋāĻ¸āĻ•āĻžāĻ°ā§āĻĄ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ RAID 6-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡ āĻ¨āĻŋāĻˇā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤

āĻŽāĻ¨ā§‹āĻ¯ā§‹āĻ— āĻĻāĻŋāĻ¨, āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻŸāĻŋ "āĻļā§‚āĻ¨ā§āĻ¯" āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻŸāĻŋāĻ•ā§‡ "āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡" NVMe āĻĄā§āĻ°āĻžāĻ‡āĻ­ā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄā§‡āĻŸāĻž āĻ§ā§āĻŦāĻ‚āĻ¸ āĻ•āĻ°āĻŦā§‡āĨ¤

#blkdiscard /dev/md0

āĻ•āĻŋāĻ›ā§ āĻ­ā§āĻ˛ āĻšāĻ˛ā§‡, āĻāĻ•āĻŸāĻŋ āĻ§āĻžāĻĒ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§āĻ¨āĨ¤

#blkdiscard --step 65536 /dev/md0

āĻ¸āĻžāĻŸāĻž āĻāĻ¸āĻāĻ¸āĻĄāĻŋ

#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 āĻ•ā§€ āĻ­āĻžāĻ˛ āĻ¤āĻž āĻ…āĻĒā§āĻŸāĻŋāĻŽāĻžāĻ‡āĻœ āĻ•āĻ°ā§‡āĻ¨āĨ¤
āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ NVMe āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻāĻŦāĻ‚ āĻĒāĻžāĻ¤āĻ˛āĻž-āĻĒā§āĻ°āĻ­āĻŋāĻļāĻ¨āĻŋāĻ‚ āĻŸā§āĻ°āĻŋāĻ•āĻ¸ āĻĻāĻŋāĻ¯āĻŧā§‡ RAID 6-āĻāĻ° āĻĻā§āĻ°ā§āĻŦāĻ˛ āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻ˛ā§‡āĻ–āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§āĻˇāĻ¤āĻŋāĻĒā§‚āĻ°āĻŖ āĻĻā§‡āĻŦāĨ¤

āĻ†āĻŽāĻ°āĻž āĻāĻ–āĻ¨āĻ“ RAID 6-āĻāĻ° āĻœāĻ¨ā§āĻ¯ DISCARD āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻŋāĻ¨āĻŋāĨ¤ āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻ°āĻž āĻ†āĻĒāĻžāĻ¤āĻ¤ āĻāĻ‡ āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻŸāĻŋāĻ•ā§‡ "āĻ¸ā§‚āĻšāĻ¨āĻž" āĻ•āĻ°āĻŦ āĻ¨āĻžāĨ¤ OS āĻ‡āĻ¨ā§āĻ¸āĻŸāĻ˛ āĻ•āĻ°āĻžāĻ° āĻĒāĻ° āĻ†āĻŽāĻ°āĻž āĻāĻŸāĻŋ āĻĒāĻ°ā§‡ āĻ•āĻ°āĻŦāĨ¤

SATA HDD

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

NVMe RAID-āĻ LVM

āĻ—āĻ¤āĻŋāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻ°āĻž āĻ°ā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻŸāĻŋāĻ•ā§‡ NVMe RAID 1-āĻ āĻ°āĻžāĻ–āĻ¤ā§‡ āĻšāĻžāĻ‡ āĻ¯āĻž āĻšāĻ˛ /dev/md0āĨ¤
āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻāĻ–āĻ¨āĻ“ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ‡ āĻĻā§āĻ°ā§āĻ¤ āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻŦā§‡, āĻ¯ā§‡āĻŽāĻ¨ āĻ¸ā§‹āĻ¯āĻŧāĻžāĻĒ, āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻž āĻāĻŦāĻ‚ LVM-āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻāĻŦāĻ‚ LVM-āĻĒāĻžāĻ¤āĻ˛āĻž āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻž, āĻ¤āĻžāĻ‡ āĻ†āĻŽāĻ°āĻž āĻāĻ‡ āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ LVM VG āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦāĨ¤

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

āĻ°ā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻļāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•āĨ¤

#lvcreate -L 128G --name root root

RAM āĻāĻ° āĻ†āĻ•āĻžāĻ° āĻ…āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§€ āĻ…āĻĻāĻ˛āĻŦāĻĻāĻ˛ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻļāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•āĨ¤

#lvcreate -L 32G --name swap root

āĻ“āĻāĻ¸ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨

āĻŽā§‹āĻŸ, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ†āĻ›ā§‡āĨ¤

āĻ‰āĻŦā§āĻ¨ā§āĻŸā§ āĻ˛āĻžāĻ‡āĻ­ āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨ āĻ‰āĻ‡āĻœāĻžāĻ°ā§āĻĄ āĻšāĻžāĻ˛ā§ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨āĨ¤ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻŋāĻ¸ā§āĻ• āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧā§‡, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤āĻ—ā§āĻ˛āĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡:

  • /dev/md1, - āĻŽāĻžāĻ‰āĻ¨ā§āĻŸ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ /āĻŦā§āĻŸ, FS - BTRFS
  • /dev/root/root (āĻ“āĻ°āĻĢā§‡ /dev/mapper/root-root), - āĻŽāĻžāĻ‰āĻ¨ā§āĻŸ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ / (root), FS - BTRFS
  • /dev/root/swap (āĻ“āĻ°āĻĢā§‡ /dev/mapper/root-swap), - āĻ¸ā§‹āĻ¯āĻŧāĻžāĻĒ āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻļāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨
  • /dev/sda-āĻ¤ā§‡ āĻŦā§āĻŸāĻ˛ā§‹āĻĄāĻžāĻ° āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°ā§āĻ¨

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻ–āĻ¨ āĻ°ā§āĻŸ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ BTRFS āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°ā§‡āĻ¨, āĻ¤āĻ–āĻ¨ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛āĻžāĻ° āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ / (root) āĻāĻ° āĻœāĻ¨ā§āĻ¯ "@" āĻ¨āĻžāĻŽā§‡ āĻĻā§āĻŸāĻŋ BTRFS āĻ­āĻ˛āĻŋāĻ‰āĻŽ āĻāĻŦāĻ‚ /home āĻāĻ° āĻœāĻ¨ā§āĻ¯ "@home" āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦā§‡āĨ¤

āĻāĻ° āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨ āĻļā§āĻ°ā§ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•...

āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨āĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻŽāĻĄā§‡āĻ˛ āĻĄāĻžāĻ¯āĻŧāĻžāĻ˛āĻ— āĻŦāĻ•ā§āĻ¸ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻļā§‡āĻˇ āĻšāĻŦā§‡ āĻ¯āĻž āĻŦā§āĻŸāĻ˛ā§‹āĻĄāĻžāĻ° āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻ•āĻŸāĻŋ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°ā§‡āĨ¤ āĻĻā§āĻ°ā§āĻ­āĻžāĻ—ā§āĻ¯āĻŦāĻļāĻ¤, āĻ†āĻĒāĻ¨āĻŋ āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ‡ āĻĄāĻžāĻ¯āĻŧāĻžāĻ˛āĻ— āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻāĻŦāĻ‚ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨ āĻšāĻžāĻ˛āĻŋāĻ¯āĻŧā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡āĻ¨ āĻ¨āĻžāĨ¤ āĻ†āĻŽāĻ°āĻž āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĨā§‡āĻ•ā§‡ āĻ˛āĻ— āĻ†āĻ‰āĻŸ āĻ•āĻ°ā§‡ āĻ†āĻŦāĻžāĻ° āĻ˛āĻ— āĻ‡āĻ¨ āĻ•āĻ°āĻŋ, āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻ‰āĻŦā§āĻ¨ā§āĻŸā§ āĻ˛āĻžāĻ‡āĻ­ āĻĄā§‡āĻ¸ā§āĻ•āĻŸāĻĒā§‡ āĻļā§‡āĻˇ āĻšāĻ¯āĻŧāĨ¤ āĻŸāĻžāĻ°ā§āĻŽāĻŋāĻ¨āĻžāĻ˛ āĻ–ā§āĻ˛ā§āĻ¨, āĻāĻŦāĻ‚ āĻ†āĻŦāĻžāĻ°:

#sudo bash

āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨ āĻšāĻžāĻ˛āĻŋāĻ¯āĻŧā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ chroot āĻĒāĻ°āĻŋāĻŦā§‡āĻļ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨:

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

āĻšāĻ˛ā§āĻ¨ chroot-āĻ āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻāĻŦāĻ‚ āĻšā§‹āĻ¸ā§āĻŸāĻ¨āĻžāĻŽ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻŋ:

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

āĻšāĻ˛ā§āĻ¨ chroot āĻĒāĻ°āĻŋāĻŦā§‡āĻļā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ•:

#chroot /mnt/chroot

āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœāĻ—ā§āĻ˛āĻŋ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻ•āĻ°āĻŦ:

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

āĻ…āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻ•āĻžāĻ°āĻŖā§‡ āĻŦāĻžāĻāĻ•āĻžāĻ­āĻžāĻŦā§‡ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻšā§‡āĻ• āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻ āĻŋāĻ• āĻ•āĻ°ā§āĻ¨:

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

āĻ¯āĻĻāĻŋ āĻ•āĻŋāĻ›ā§ āĻ•āĻžāĻœ āĻ¨āĻž āĻ•āĻ°ā§‡, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĒā§āĻ°āĻĨāĻŽā§‡ /etc/apt/sources.list āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡

TRIM/DISCARD āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻ¤ā§‡ RAID 6 āĻŽāĻĄāĻŋāĻ‰āĻ˛ā§‡āĻ° āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻŸāĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•:

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

āĻ†āĻ¸ā§āĻ¨ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ•āĻŋāĻ›ā§āĻŸāĻž āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻŋ:

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

āĻāĻŸāĻž āĻ•āĻŋ āĻ›āĻŋāĻ˛..?āĻ†āĻŽāĻ°āĻž udev āĻ¨āĻŋāĻ¯āĻŧāĻŽāĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ¸ā§‡āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡āĻ›āĻŋ āĻ¯āĻž āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤āĻ—ā§āĻ˛āĻŋ āĻ•āĻ°āĻŦā§‡:

  • RAID 2020-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§āĻ˛āĻ• āĻ•ā§āĻ¯āĻžāĻļā§‡āĻ° āĻ†āĻ•āĻžāĻ° 6-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻ°ā§āĻ¯āĻžāĻĒā§āĻ¤ āĻšāĻ¤ā§‡ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŽāĻžāĻ¨, āĻŽāĻ¨ā§‡ āĻšāĻšā§āĻ›ā§‡, Linux āĻ¤ā§ˆāĻ°āĻŋāĻ° āĻĒāĻ° āĻĨā§‡āĻ•ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧāĻ¨āĻŋ, āĻāĻŦāĻ‚ āĻĻā§€āĻ°ā§āĻ˜ āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻ°ā§āĻ¯āĻžāĻĒā§āĻ¤ āĻ¨āĻ¯āĻŧāĨ¤
  • āĻ…ā§āĻ¯āĻžāĻ°ā§‡ āĻšā§‡āĻ•/āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœā§‡āĻļāĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧāĻ•āĻžāĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨ā§āĻ¯ā§‚āĻ¨āĻ¤āĻŽ IO āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻāĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ˛ā§‹āĻĄā§‡āĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ āĻšāĻŋāĻ°āĻ¨ā§āĻ¤āĻ¨ āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœā§‡āĻļāĻ¨ā§‡āĻ° āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¯āĻŧ āĻ†āĻŸāĻ•ā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž āĻĨā§‡āĻ•ā§‡ āĻ†āĻŸāĻ•āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯āĨ¤
  • āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ° āĻšā§‡āĻ•/āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœā§‡āĻļāĻ¨ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¸āĻ°ā§āĻŦāĻžāĻ§āĻŋāĻ• IO āĻ¸ā§€āĻŽāĻžāĻŦāĻĻā§āĻ§ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻāĻŸāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻ¯āĻžāĻ¤ā§‡ SSD RAID āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœ āĻ•āĻ°āĻž/āĻšā§‡āĻ• āĻ•āĻ°āĻž āĻ†āĻĒāĻ¨āĻžāĻ° āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻšāĻŸāĻĒāĻŸā§‡ āĻ­āĻžāĻœāĻž āĻ¨āĻž āĻ•āĻ°ā§‡āĨ¤ āĻāĻŸāĻŋ NVMe āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦāĻŋāĻļā§‡āĻˇāĻ­āĻžāĻŦā§‡ āĻ¸āĻ¤ā§āĻ¯āĨ¤ (āĻ°ā§‡āĻĄāĻŋāĻ¯āĻŧā§‡āĻŸāĻžāĻ°ā§‡āĻ° āĻ•āĻĨāĻž āĻŽāĻ¨ā§‡ āĻ†āĻ›ā§‡? āĻ†āĻŽāĻŋ āĻŽāĻœāĻž āĻ•āĻ°āĻ›āĻŋāĻ˛āĻžāĻŽ āĻ¨āĻžāĨ¤)
  • APM āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¸ā§āĻĒāĻŋāĻ¨ā§āĻĄāĻ˛ āĻ°ā§‹āĻŸā§‡āĻļāĻ¨ (HDD) āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻž āĻĨā§‡āĻ•ā§‡ āĻĄāĻŋāĻ¸ā§āĻ•āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¨āĻŋāĻˇāĻŋāĻĻā§āĻ§ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻĄāĻŋāĻ¸ā§āĻ• āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛āĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ˜ā§āĻŽā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧāĻ¸ā§€āĻŽāĻž 7 āĻ˜āĻ¨ā§āĻŸāĻž āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨ā§ˇ āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻ—ā§āĻ˛āĻŋ āĻāĻŸāĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¤āĻŦā§‡ āĻ†āĻĒāĻ¨āĻŋ APM āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻ¨āĻŋāĻˇā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ (-B 255)āĨ¤ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŽāĻžāĻ¨ āĻ¸āĻš, āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻ—ā§āĻ˛āĻŋ āĻĒāĻžāĻāĻš āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ āĻĒāĻ°ā§‡ āĻŦāĻ¨ā§āĻ§ āĻšāĻ¯āĻŧā§‡ āĻ¯āĻžāĻŦā§‡āĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ° āĻ“āĻāĻ¸ āĻĄāĻŋāĻ¸ā§āĻ• āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ°āĻŋāĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¯āĻŧ, āĻĄāĻŋāĻ¸ā§āĻ•āĻ—ā§āĻ˛āĻŋ āĻ†āĻŦāĻžāĻ° āĻ˜ā§āĻ°āĻŦā§‡ āĻāĻŦāĻ‚ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ†āĻŦāĻžāĻ° āĻļā§āĻ°ā§ āĻšāĻŦā§‡āĨ¤ āĻĄāĻŋāĻ¸ā§āĻ•ā§‡ āĻ¸ā§€āĻŽāĻŋāĻ¤ āĻ¸āĻ°ā§āĻŦā§‹āĻšā§āĻš āĻ¸āĻ‚āĻ–ā§āĻ¯āĻ• āĻ¸ā§āĻĒāĻŋāĻ¨ā§āĻĄā§‡āĻ˛ āĻ˜ā§‚āĻ°ā§āĻŖāĻ¨ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻšāĻ•ā§āĻ° āĻ•āĻ¯āĻŧā§‡āĻ• āĻŦāĻ›āĻ°ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸āĻšāĻœā§‡āĻ‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĄāĻŋāĻ¸ā§āĻ•āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻŽā§‡āĻ°ā§‡ āĻĢā§‡āĻ˛āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄāĻŋāĻ¸ā§āĻ• āĻāĻ¤ā§‡ āĻ­ā§‹āĻ—ā§‡ āĻ¨āĻž, āĻ¤āĻŦā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° "āĻ˛ā§āĻ¯āĻžāĻĒāĻŸāĻĒ"āĻ—ā§āĻ˛āĻŋ āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ¸ā§‡āĻŸāĻŋāĻ‚āĻ¸ āĻ¸āĻš, āĻ¯āĻž RAID āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻŽāĻŋāĻ¨āĻŋ-MAID āĻāĻ° āĻŽāĻ¤ā§‹ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧā§ˇ
  • āĻĄāĻŋāĻ¸ā§āĻ•ā§‡ āĻ°āĻŋāĻĄāĻšā§‡āĻĄ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°ā§āĻ¨ (āĻ˜ā§‹āĻ°āĻžāĻ¨ā§‹) 1 āĻŽā§‡āĻ—āĻžāĻŦāĻžāĻ‡āĻŸ - āĻĒāĻ°āĻĒāĻ° āĻĻā§āĻŸāĻŋ āĻŦā§āĻ˛āĻ•/āĻ–āĻŖā§āĻĄ RAID 6
  • āĻ…ā§āĻ¯āĻžāĻ°ā§‡ āĻ¨āĻŋāĻœā§‡āĻĻā§‡āĻ° āĻ‰āĻĒāĻ° readahead āĻ¨āĻŋāĻˇā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ.

āĻ†āĻ¸ā§āĻ¨ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻ•āĻ°āĻŋ /etc/fstab:

#cat >/etc/fstab << EOF
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
# file-system mount-point type options dump pass
/dev/mapper/root-root / btrfs defaults,space_cache,noatime,nodiratime,discard,subvol=@ 0 1
UUID=$(blkid -o value -s UUID /dev/md1) /boot btrfs defaults,space_cache,noatime,nodiratime,discard 0 2
/dev/mapper/root-root /home btrfs defaults,space_cache,noatime,nodiratime,discard,subvol=@home 0 2
/dev/mapper/root-swap none swap sw 0 0
EOF

āĻāĻŽāĻ¨ āĻ•ā§‡āĻ¨..?āĻ†āĻŽāĻ°āĻž UUID āĻĻā§āĻŦāĻžāĻ°āĻž /boot āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻļāĻ¨ āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ•āĻ°āĻŦāĨ¤ āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ° āĻ¨āĻžāĻŽāĻ•āĻ°āĻŖ āĻ¤āĻžāĻ¤ā§āĻ¤ā§āĻŦāĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ†āĻŽāĻ°āĻž /dev/mapper/vg-lv āĻ¸ā§āĻŦāĻ°āĻ˛āĻŋāĻĒāĻŋāĻ¤ā§‡ LVM āĻ¨āĻžāĻŽ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ…āĻŦāĻļāĻŋāĻˇā§āĻŸ āĻŦāĻŋāĻ­āĻžāĻ—āĻ—ā§āĻ˛āĻŋ āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ•āĻ°āĻŦ, āĻ•āĻžāĻ°āĻŖ āĻ¤āĻžāĻ°āĻž āĻŦā§‡āĻļ āĻ¸ā§āĻŦāĻ¤āĻ¨ā§āĻ¤ā§āĻ°āĻ­āĻžāĻŦā§‡ āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻļāĻ¨ āĻ¸āĻ¨āĻžāĻ•ā§āĻ¤ āĻ•āĻ°ā§‡āĨ¤

āĻ†āĻŽāĻ°āĻž LVM āĻāĻ° āĻœāĻ¨ā§āĻ¯ UUID āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋ āĻ¨āĻž āĻ•āĻžāĻ°āĻŖ LVM āĻ­āĻ˛āĻŋāĻ‰āĻŽā§‡āĻ° UUID āĻāĻŦāĻ‚ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸ āĻāĻ•āĻ‡ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤āĻŽāĻžāĻ‰āĻ¨ā§āĻŸ /dev/mapper/root-root.. āĻĻā§āĻŦāĻžāĻ°?āĻšā§āĻ¯āĻžāĻ. āĻšā§āĻŦāĻšā§āĨ¤ BTRFS āĻāĻ° āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯āĨ¤ āĻāĻ‡ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻŸāĻŋ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ¸āĻžāĻŦāĻ­ā§‹āĻ˛ āĻ¸āĻš āĻāĻ•āĻžāĻ§āĻŋāĻ•āĻŦāĻžāĻ° āĻŽāĻžāĻ‰āĻ¨ā§āĻŸ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻāĻ‡ āĻāĻ•āĻ‡ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ā§‡āĻ° āĻ•āĻžāĻ°āĻŖā§‡, āĻ†āĻŽāĻŋ āĻ•āĻ–āĻ¨āĻ‡ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ BTRFS āĻ­āĻ˛āĻŋāĻ‰āĻŽā§‡āĻ° LVM āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻāĻŋāĻ‡āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ°āĻŋāĻŦā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ°āĻĒā§āĻ°āĻžāĻ‡āĻœ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤

āĻ†āĻ¸ā§āĻ¨ mdadm āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋ:

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

āĻ†āĻ¸ā§āĻ¨ LVM āĻ¸ā§‡āĻŸāĻŋāĻ‚āĻ¸ āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯ āĻ•āĻ°āĻŋ:

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

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

āĻāĻŸāĻž āĻ•āĻŋ āĻ›āĻŋāĻ˛..?āĻ†āĻŽāĻ°āĻž āĻĻāĻ–āĻ˛āĻ•ā§ƒāĻ¤ āĻ¸ā§āĻĨāĻžāĻ¨ā§‡āĻ° 90% āĻ­āĻ˛āĻŋāĻ‰āĻŽā§‡āĻ° 5% āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§ŒāĻāĻ›āĻžāĻ¨ā§‹āĻ° āĻĒāĻ°ā§‡ LVM āĻĒāĻžāĻ¤āĻ˛āĻž āĻĒā§āĻ˛ā§‡āĻ° āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ¸āĻŽā§āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŖ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤

āĻ†āĻŽāĻ°āĻž LVM āĻ•ā§āĻ¯āĻžāĻļā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻŦā§āĻ˛āĻ•ā§‡āĻ° āĻ¸āĻ°ā§āĻŦāĻžāĻ§āĻŋāĻ• āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻŦāĻžāĻĄāĻŧāĻŋāĻ¯āĻŧā§‡āĻ›āĻŋāĨ¤

āĻ†āĻŽāĻ°āĻž LVM āĻ•ā§‡ LVM āĻ­āĻ˛āĻŋāĻ‰āĻŽ (PV) āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻŦāĻžāĻ§āĻž āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›āĻŋ:

  • LVM āĻ•ā§āĻ¯āĻžāĻļā§‡ (cdata) āĻ§āĻžāĻ°āĻŖāĻ•āĻžāĻ°ā§€ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸
  • āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻŦāĻžāĻ‡āĻĒāĻžāĻ¸ āĻ•āĻ°ā§‡ LVM āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ•ā§āĻ¯āĻžāĻļ āĻ•āĻ°āĻž āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸āĻ—ā§āĻ˛āĻŋ ( _āĻ•āĻ°āĻŋāĻ—)āĨ¤ āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ•ā§āĻ¯āĻžāĻļ āĻ•āĻ°āĻž āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸āĻŸāĻŋ āĻ¨āĻŋāĻœā§‡āĻ‡ āĻāĻ–āĻ¨āĻ“ āĻ•ā§āĻ¯āĻžāĻļā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¸ā§āĻ•ā§āĻ¯āĻžāĻ¨ āĻ•āĻ°āĻž āĻšāĻŦā§‡ (āĻļā§āĻ§ā§ )
  • āĻāĻ˛āĻ­āĻŋāĻāĻŽ āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻž (āĻ¸āĻŋāĻŽā§‡āĻŸāĻž) āĻ§āĻžāĻ°āĻŖāĻ•āĻžāĻ°ā§€ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸
  • āĻ­āĻŋāĻœāĻŋ-āĻ¤ā§‡ āĻĨāĻžāĻ•āĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡āĻ° āĻ¨āĻžāĻŽ āĻ‡āĻŽā§‡āĻœ āĻ¸āĻšāĨ¤ āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡āĻ° āĻĄāĻŋāĻ¸ā§āĻ• āĻ‡āĻŽā§‡āĻœ āĻĨāĻžāĻ•āĻŦā§‡, āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻž āĻšāĻžāĻ‡ āĻ¨āĻž āĻšā§‹āĻ¸ā§āĻŸā§‡ LVM āĻ—ā§‡āĻ¸ā§āĻŸ OS-āĻāĻ° āĻ­āĻ˛āĻŋāĻ‰āĻŽ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°ā§āĻ•āĨ¤
  • āĻ¨āĻžāĻŽ āĻŦā§āĻ¯āĻžāĻ•āĻ†āĻĒ āĻ¸āĻš VG-āĻ¤ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸āĨ¤ āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡āĻ° āĻ›āĻŦāĻŋāĻ—ā§āĻ˛āĻŋāĻ° āĻŦā§āĻ¯āĻžāĻ•āĻ†āĻĒ āĻ•āĻĒāĻŋ āĻĨāĻžāĻ•āĻŦā§‡āĨ¤
  • āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻ¯āĻžāĻ° āĻ¨āĻžāĻŽ "gpv" āĻĻāĻŋāĻ¯āĻŧā§‡ āĻļā§‡āĻˇ āĻšāĻ¯āĻŧ (āĻ…āĻ¤āĻŋāĻĨāĻŋāĻ° āĻ­āĻ˛āĻŋāĻ‰āĻŽ)

LVM VG-āĻ¤ā§‡ āĻĢāĻžāĻāĻ•āĻž āĻ¸ā§āĻĨāĻžāĻ¨ āĻ–āĻžāĻ˛āĻŋ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ†āĻŽāĻ°āĻž DISCARD āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤ āĻ¸āĻ¤āĻ°ā§āĻ• āĻšā§‹āĻ¨. āĻāĻŸāĻŋ SSD-āĻ¤ā§‡ LVs āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻžāĻ•ā§‡ āĻŦā§‡āĻļ āĻ¸āĻŽāĻ¯āĻŧāĻ¸āĻžāĻĒā§‡āĻ•ā§āĻˇ āĻ•āĻ°ā§‡ āĻ¤ā§āĻ˛āĻŦā§‡āĨ¤ āĻāĻŸāĻŋ āĻŦāĻŋāĻļā§‡āĻˇ āĻ•āĻ°ā§‡ SSD RAID 6-āĻāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻĒā§āĻ°āĻ¯ā§‹āĻœā§āĻ¯āĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻĒāĻ°āĻŋāĻ•āĻ˛ā§āĻĒāĻ¨āĻž āĻ…āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§€, āĻ†āĻŽāĻ°āĻž āĻĒāĻžāĻ¤āĻ˛āĻž āĻĒā§āĻ°āĻ­āĻŋāĻļāĻ¨āĻŋāĻ‚ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦ, āĻ¤āĻžāĻ‡ āĻāĻŸāĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ°āĻ•ā§‡ āĻāĻ•ā§‡āĻŦāĻžāĻ°ā§‡āĻ‡ āĻŦāĻžāĻ§āĻž āĻĻā§‡āĻŦā§‡ āĻ¨āĻžāĨ¤

āĻ†āĻ¸ā§āĻ¨ initramfs āĻ‡āĻŽā§‡āĻœ āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻŋ:

#update-initramfs -u -k all

āĻ—ā§āĻ°āĻžāĻŦ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻāĻŦāĻ‚ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°ā§āĻ¨:

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

āĻ†āĻĒāĻ¨āĻŋ āĻ•ā§‹āĻ¨ āĻĄāĻŋāĻ¸ā§āĻ• āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤?āĻ¯āĻžāĻ°āĻž āĻāĻ¸āĻĄāĻŋ*āĨ¤ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻŸāĻŋ āĻ¯ā§‡āĻ•ā§‹āĻ¨ āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇāĻŽ SATA āĻĄā§āĻ°āĻžāĻ‡āĻ­ āĻŦāĻž SSD āĻĨā§‡āĻ•ā§‡ āĻŦā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻšāĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤

āĻ•ā§‡āĻ¨ āĻ¤āĻžāĻ°āĻž os-prober āĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡āĻ›ā§‡..?āĻ…āĻ¤ā§āĻ¯āĻ§āĻŋāĻ• āĻ¸ā§āĻŦāĻžāĻ§ā§€āĻ¨āĻ¤āĻž āĻāĻŦāĻ‚ āĻ•ā§ŒāĻ¤ā§āĻ•āĻĒā§‚āĻ°ā§āĻŖ āĻšāĻžāĻ¤ āĻœāĻ¨ā§āĻ¯.

āĻāĻŸāĻŋ āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¨āĻž āĻ¯āĻĻāĻŋ RAIDāĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋ āĻ…āĻŦāĻ¨āĻ¤ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¯āĻŧ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻāĻŸāĻŋ āĻāĻ‡ āĻšāĻžāĻ°ā§āĻĄāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°ā§‡ āĻšāĻ˛āĻŽāĻžāĻ¨ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻļāĻ¨āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ OS āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡āĨ¤

āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻšāĻ¯āĻŧ āĻ¤āĻŦā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻāĻŸāĻŋ āĻ›ā§‡āĻĄāĻŧā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ¤āĻŦā§‡ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤āĻŸāĻŋ āĻŽāĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦā§‡āĻ¨āĨ¤ āĻ†āĻŽāĻŋ āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨ā§‡ āĻĻā§āĻˇā§āĻŸā§ āĻšāĻžāĻ¤ āĻĨā§‡āĻ•ā§‡ āĻŽā§āĻ•ā§āĻ¤āĻŋ āĻĒāĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ°ā§‡āĻ¸āĻŋāĻĒāĻŋ āĻ–ā§‹āĻāĻœāĻžāĻ° āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻāĻŋāĻ‡āĨ¤

āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ• āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤ āĻ¨āĻ¤ā§āĻ¨ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻ“āĻāĻ¸ā§‡ āĻ°āĻŋāĻŦā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻ¸ā§‡āĻ›ā§‡āĨ¤ āĻŦā§āĻŸāĻ¯ā§‹āĻ—ā§āĻ¯ āĻ˛āĻžāĻ‡āĻ­ āĻ¸āĻŋāĻĄāĻŋ/āĻ‡āĻ‰āĻāĻ¸āĻŦāĻŋ āĻ¸āĻ°āĻžāĻ¤ā§‡ āĻ­ā§āĻ˛āĻŦā§‡āĻ¨ āĻ¨āĻžāĨ¤

#exit
#reboot

āĻŦā§āĻŸ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ SATA SSD-āĻāĻ° āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°ā§āĻ¨āĨ¤

SATA SSD-āĻ¤ā§‡ LVM

āĻāĻ‡ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§‡, āĻ†āĻŽāĻ°āĻž āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ āĻ¨āĻ¤ā§āĻ¨ OS āĻ āĻŦā§āĻŸ āĻ•āĻ°ā§‡āĻ›āĻŋ, āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°ā§‡āĻ›āĻŋ, āĻ‰āĻĒāĻ¯ā§āĻ•ā§āĻ¤, āĻŸāĻžāĻ°ā§āĻŽāĻŋāĻ¨āĻžāĻ˛ āĻāĻŽā§āĻ˛ā§‡āĻŸāĻ° āĻ–ā§āĻ˛ā§‡āĻ›āĻŋ āĻāĻŦāĻ‚ āĻšāĻžāĻ˛ā§ āĻ•āĻ°ā§‡āĻ›āĻŋ:

#sudo bash

āĻšāĻ˛ āĻ…āĻŦāĻŋāĻ°āĻ¤ āĻ°āĻžāĻ–āĻŋ.

SATA SSD āĻĨā§‡āĻ•ā§‡ āĻ…ā§āĻ¯āĻžāĻ°ā§‡ "āĻļā§āĻ°ā§ āĻ•āĻ°ā§āĻ¨":

#blkdiscard /dev/md2

āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋ āĻ•āĻžāĻœ āĻ¨āĻž āĻ•āĻ°ā§‡, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§āĻ¨:

#blkdiscard --step 65536 /dev/md2
SATA SSD-āĻ¤ā§‡ LVM VG āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨:

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

āĻ•ā§‡āĻ¨ āĻ…āĻ¨ā§āĻ¯ āĻ­āĻŋāĻœāĻŋ..?āĻ†āĻ¸āĻ˛ā§‡, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ āĻ°ā§āĻŸ āĻ¨āĻžāĻŽā§‡ āĻāĻ•āĻŸāĻŋ āĻ­āĻŋāĻœāĻŋ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ•ā§‡āĻ¨ āĻāĻ• āĻ­āĻŋāĻœāĻŋāĻ¤ā§‡ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ¯ā§‹āĻ— āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¨āĻž?

āĻ¯āĻĻāĻŋ āĻāĻ•āĻŸāĻŋ āĻ­āĻŋāĻœāĻŋāĻ¤ā§‡ āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻĒāĻŋāĻ­āĻŋ āĻĨāĻžāĻ•ā§‡, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ­āĻŋāĻœāĻŋ āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĒāĻŋāĻ­āĻŋ āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻĨāĻžāĻ•āĻ¤ā§‡ āĻšāĻŦā§‡ (āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨)āĨ¤ āĻŦā§āĻ¯āĻ¤āĻŋāĻ•ā§āĻ°āĻŽ āĻšāĻ˛ LVM RAID, āĻ¯āĻž āĻ†āĻŽāĻ°āĻž āĻ‡āĻšā§āĻ›āĻžāĻ•ā§ƒāĻ¤āĻ­āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋ āĻ¨āĻžāĨ¤

āĻ†āĻŽāĻ°āĻž āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ‡ āĻšāĻžāĻ‡ āĻ¯ā§‡ RAID 6 āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ—ā§āĻ˛āĻŋāĻ° āĻ¯ā§‡ āĻ•ā§‹āĻ¨āĻ“ āĻāĻ•āĻŸāĻŋāĻ¤ā§‡ āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻž (āĻĒāĻĄāĻŧā§āĻ¨ āĻĄā§‡āĻŸāĻž āĻ•ā§āĻˇāĻ¤āĻŋ) āĻšāĻ˛ā§‡, āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻŸāĻŋ āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻŦā§āĻŸ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ā§‡āĻ° āĻ¸ā§āĻ¯ā§‹āĻ— āĻĻā§‡āĻŦā§‡āĨ¤

āĻāĻŸāĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻŦāĻŋāĻŽā§‚āĻ°ā§āĻ¤āĻ•āĻ°āĻŖā§‡āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻ¸ā§āĻ¤āĻ°ā§‡ āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ§āĻ°āĻŖā§‡āĻ° āĻļāĻžāĻ°ā§€āĻ°āĻŋāĻ• "āĻŽāĻŋāĻĄāĻŋāĻ¯āĻŧāĻž"āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§ƒāĻĨāĻ• āĻ­āĻŋāĻœāĻŋāĻ¤ā§‡ āĻŦāĻŋāĻšā§āĻ›āĻŋāĻ¨ā§āĻ¨ āĻ•āĻ°āĻŦāĨ¤

āĻŦā§ˆāĻœā§āĻžāĻžāĻ¨āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻŦāĻ˛āĻ¤ā§‡ āĻ—ā§‡āĻ˛ā§‡, āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ RAID āĻ…ā§āĻ¯āĻžāĻ°ā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ "āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¯ā§‹āĻ—ā§āĻ¯āĻ¤āĻž āĻĄā§‹āĻŽā§‡āĻ¨" āĻāĻ° āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ—āĻ¤āĨ¤ āĻ¤āĻžāĻĻā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ­āĻŋāĻœāĻŋāĻ¤ā§‡ āĻ•ā§āĻ°ā§āĻ¯āĻžāĻŽ āĻ•āĻ°ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¨āĻ¯āĻŧāĨ¤

"āĻšāĻžāĻ°ā§āĻĄāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°" āĻ¸ā§āĻ¤āĻ°ā§‡ LVM-āĻāĻ° āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻ†āĻŽāĻžāĻĻā§‡āĻ°āĻ•ā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ RAID āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ° āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ‰āĻĒāĻžāĻ¯āĻŧā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°ā§‡ āĻ¨āĻŋāĻ°ā§āĻŦāĻŋāĻšāĻžāĻ°ā§‡ āĻŸā§āĻ•āĻ°ā§‹ āĻŸā§āĻ•āĻ°ā§‹ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻ¯ā§‡āĻŽāĻ¨- āĻ°āĻžāĻ¨ āĻāĻ•āĻ‡ āĻ¸āĻŽāĻ¯āĻŧā§‡ bcache + LVM āĻĨāĻŋāĻ¨, bcache + BTRFS, LVM āĻ•ā§āĻ¯āĻžāĻļā§‡ + LVM āĻĨāĻŋāĻ¨, āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻœāĻŸāĻŋāĻ˛ ZFS āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨, āĻŦāĻž āĻ…āĻ¨ā§āĻ¯ āĻ•ā§‹āĻ¨ā§‹ āĻ¨āĻ°āĻ•ā§€āĻ¯āĻŧ āĻŽāĻŋāĻļā§āĻ°āĻŖ āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡ āĻĻā§‡āĻ–ā§āĻ¨ āĻāĻŦāĻ‚ āĻ¤ā§āĻ˛āĻ¨āĻž āĻ•āĻ°ā§āĻ¨āĨ¤

"āĻšāĻžāĻ°ā§āĻĄāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°" āĻ¸ā§āĻ¤āĻ°ā§‡, āĻ†āĻŽāĻ°āĻž āĻ­āĻžāĻ˛ āĻĒā§āĻ°āĻžāĻ¨ā§‹ "āĻŽā§‹āĻŸāĻž" LVM āĻ­āĻ˛āĻŋāĻ‰āĻŽ āĻ›āĻžāĻĄāĻŧāĻž āĻ…āĻ¨ā§āĻ¯ āĻ•āĻŋāĻ›ā§ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦ āĻ¨āĻžāĨ¤ āĻāĻ‡ āĻ¨āĻŋāĻ¯āĻŧāĻŽā§‡āĻ° āĻŦā§āĻ¯āĻ¤āĻŋāĻ•ā§āĻ°āĻŽ āĻŦā§āĻ¯āĻžāĻ•āĻ†āĻĒ āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻļāĻ¨ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ†āĻŽāĻŋ āĻŽāĻ¨ā§‡ āĻ•āĻ°āĻŋ āĻāĻ‡ āĻŽā§āĻšā§āĻ°ā§āĻ¤ā§‡, āĻ…āĻ¨ā§‡āĻ• āĻĒāĻžāĻ āĻ• āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻŦāĻžāĻ¸āĻž āĻŦāĻžāĻāĻ§āĻžāĻ° āĻĒā§āĻ¤ā§āĻ˛ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ•āĻŋāĻ›ā§ āĻ¸āĻ¨ā§āĻĻā§‡āĻš āĻ•āĻ°āĻ¤ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨āĨ¤

SATA HDD-āĻ LVM

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

āĻ†āĻŦāĻžāĻ° āĻ¨āĻ¤ā§āĻ¨ āĻ­āĻŋāĻœāĻŋ..?āĻ†āĻŽāĻ°āĻž āĻ¸āĻ¤ā§āĻ¯āĻŋāĻ‡ āĻšāĻžāĻ‡ āĻ¯ā§‡ āĻ†āĻŽāĻ°āĻž āĻĄā§‡āĻŸāĻž āĻŦā§āĻ¯āĻžāĻ•āĻ†āĻĒā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¯ā§‡ āĻĄāĻŋāĻ¸ā§āĻ• āĻ…ā§āĻ¯āĻžāĻ°ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦ āĻ¤āĻž āĻŦā§āĻ¯āĻ°ā§āĻĨ āĻšāĻ˛ā§‡, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻĨāĻžāĻ•āĻŦā§‡, āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ¨āĻ¨-āĻŦā§āĻ¯āĻžāĻ•āĻ†āĻĒ āĻĄā§‡āĻŸāĻžāĻ¤ā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻŦāĻœāĻžāĻ¯āĻŧ āĻ°ā§‡āĻ–ā§‡āĨ¤ āĻ¤āĻžāĻ‡, āĻ­āĻŋāĻœāĻŋ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻŸāĻŋāĻ­ā§‡āĻļāĻ¨ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻāĻĄāĻŧāĻžāĻ¤ā§‡ āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ†āĻ˛āĻžāĻĻāĻž āĻ­āĻŋāĻœāĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋāĨ¤

LVM āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡

NVMe RAID 1-āĻ āĻāĻ•āĻŸāĻŋ āĻ•ā§āĻ¯āĻžāĻļāĻŋāĻ‚ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ LV āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•āĨ¤

#lvcreate -L 70871154688B --name cache root

āĻāĻ¤ āĻ•āĻŽ āĻ•ā§‡āĻ¨...?āĻ†āĻ¸āĻ˛ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŸāĻŋ āĻš'āĻ˛ āĻ†āĻŽāĻžāĻĻā§‡āĻ° NVMe SSD-āĻāĻ°āĻ“ āĻāĻ•āĻŸāĻŋ SLC āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ 4 āĻ—āĻŋāĻ—āĻžāĻŦāĻžāĻ‡āĻŸ "āĻĢā§āĻ°āĻŋ" āĻāĻŦāĻ‚ 18 āĻ—āĻŋāĻ—āĻžāĻŦāĻžāĻ‡āĻŸ āĻĄāĻžāĻ‡āĻ¨āĻžāĻŽāĻŋāĻ• 3-āĻŦāĻŋāĻŸ āĻāĻŽāĻāĻ˛āĻ¸āĻŋ-āĻ¤ā§‡ āĻŽā§āĻ•ā§āĻ¤ āĻ¸ā§āĻĨāĻžāĻ¨ āĻĻāĻ–āĻ˛ āĻ•āĻ°āĻžāĻ° āĻ•āĻžāĻ°āĻŖā§‡āĨ¤ āĻāĻ•āĻŦāĻžāĻ° āĻāĻ‡ āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ¨āĻŋāĻƒāĻļā§‡āĻˇ āĻšāĻ¯āĻŧā§‡ āĻ—ā§‡āĻ˛ā§‡, NVMe SSD āĻ—ā§āĻ˛āĻŋ āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ¸āĻš āĻ†āĻŽāĻžāĻĻā§‡āĻ° SATA SSD āĻāĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻŦā§‡āĻļāĻŋ āĻĻā§āĻ°ā§āĻ¤ āĻšāĻŦā§‡ āĻ¨āĻžāĨ¤ āĻĒā§āĻ°āĻ•ā§ƒāĻ¤āĻĒāĻ•ā§āĻˇā§‡, āĻāĻ‡ āĻ•āĻžāĻ°āĻŖā§‡, LVM āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻļāĻ¨āĻŸāĻŋāĻ•ā§‡ NVMe āĻĄā§āĻ°āĻžāĻ‡āĻ­ā§‡āĻ° SLC āĻ•ā§āĻ¯āĻžāĻļā§‡āĻ° āĻĻā§āĻŦāĻŋāĻ—ā§āĻŖ āĻ†āĻ•āĻžāĻ°ā§‡āĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻ…āĻ¨ā§‡āĻ• āĻŦāĻĄāĻŧ āĻ•āĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒāĻ•ā§āĻˇā§‡ āĻ•ā§‹āĻ¨ āĻ…āĻ°ā§āĻĨāĻŦāĻš āĻ¨āĻ¯āĻŧāĨ¤ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ NVMe āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯, āĻ˛ā§‡āĻ–āĻ• 32-64 āĻ—āĻŋāĻ—āĻžāĻŦāĻžāĻ‡āĻŸ āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻ¸āĻ™ā§āĻ—āĻ¤ āĻŦāĻ˛ā§‡ āĻŽāĻ¨ā§‡ āĻ•āĻ°ā§‡āĻ¨āĨ¤

āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻļāĻ¨ā§‡āĻ° āĻ†āĻ•āĻžāĻ° 64 āĻ—āĻŋāĻ—āĻžāĻŦāĻžāĻ‡āĻŸ āĻ•ā§āĻ¯āĻžāĻļā§‡, āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻž āĻāĻŦāĻ‚ āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻž āĻŦā§āĻ¯āĻžāĻ•āĻ†āĻĒ āĻ¸āĻ‚āĻ—āĻ āĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨āĨ¤

āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤āĻ­āĻžāĻŦā§‡, āĻ†āĻŽāĻŋ āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°āĻŋ āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨ā§‹āĻ‚āĻ°āĻž āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻļāĻžāĻŸāĻĄāĻžāĻ‰āĻ¨ā§‡āĻ° āĻĒāĻ°ā§‡, LVM āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ•ā§āĻ¯āĻžāĻļā§‡āĻŸāĻŋāĻ•ā§‡ āĻ¨ā§‹āĻ‚āĻ°āĻž āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻšāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻ•āĻ°āĻŦā§‡ āĻāĻŦāĻ‚ āĻ†āĻŦāĻžāĻ° āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœ āĻ•āĻ°āĻŦā§‡āĨ¤ āĻ…āĻ§āĻŋāĻ•āĻ¨ā§āĻ¤ā§, āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻŸāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻŦā§āĻŸ āĻ¨āĻž āĻšāĻ“āĻ¯āĻŧāĻž āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻāĻ‡ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡ lvchange āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻŸāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤ āĻ…āĻ¤āĻāĻŦ, āĻ†āĻŽāĻŋ āĻ¯āĻĨāĻžāĻ¯āĻĨ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ…āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§‡ āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻāĻŋāĻ‡āĨ¤

SATA RAID 6-āĻ āĻāĻ•āĻŸāĻŋ LV āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¯āĻžāĻ• āĻ¯āĻžāĻ¤ā§‡ āĻāĻŸāĻŋ āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ•āĻ°āĻž āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯āĻžāĻ¯āĻŧāĨ¤

#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 āĻĒāĻžāĻ¤āĻ˛āĻž āĻœāĻ¨ā§āĻ¯ āĻ…āĻ¨ā§āĻŽā§‹āĻĻāĻŋāĻ¤ āĻ¨ā§āĻ¯ā§‚āĻ¨āĻ¤āĻŽ āĻŦā§āĻ˛āĻ• āĻ†āĻ•āĻžāĻ°āĨ¤

āĻ¸āĻžāĻŦāĻ§āĻžāĻ¨ā§‡ āĻ˛āĻŋāĻ–ā§āĻ¨..!āĻšā§āĻ¯āĻžāĻ. āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ•ā§āĻ¯āĻžāĻļ āĻ•āĻ°āĻž āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡ āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœā§‡āĻļāĻ¨ āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻ¸ā§āĻĨāĻ—āĻŋāĻ¤ āĻ•āĻ°ā§‡āĨ¤ āĻāĻ° āĻ…āĻ°ā§āĻĨ āĻšāĻ˛ āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻšāĻžāĻ°āĻŋāĻ¯āĻŧā§‡ āĻ—ā§‡āĻ˛ā§‡, āĻ†āĻĒāĻ¨āĻŋ āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ•āĻ°āĻž āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡ āĻĄā§‡āĻŸāĻž āĻšāĻžāĻ°āĻžāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻĒāĻ°ā§‡, āĻ˛ā§‡āĻ–āĻ• āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŦāĻ˛āĻŦā§‡āĻ¨ āĻ¯ā§‡ āĻāĻ‡ āĻā§āĻāĻ•āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ 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 āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ•ā§āĻ¯āĻžāĻļā§‡āĻĄā§‡āĻŸāĻžāĻ¤ā§‡ āĻ¨āĻžāĻŽāĻ•āĻ°āĻŖ āĻ•āĻ°āĻŦā§‡āĨ¤

LVM āĻĒāĻžāĻ¤āĻ˛āĻž āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡

āĻ†āĻ¸ā§āĻ¨ āĻ†āĻŽāĻ°āĻž āĻŽā§‹āĻŸāĻžāĻŽā§āĻŸāĻŋāĻ­āĻžāĻŦā§‡ āĻ…āĻ¨ā§āĻŽāĻžāĻ¨ āĻ•āĻ°āĻŋ āĻ¯ā§‡ LVM āĻĒāĻžāĻ¤āĻ˛āĻž āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻ¤āĻŸāĻž āĻœāĻžāĻ¯āĻŧāĻ—āĻž āĻĻāĻ°āĻ•āĻžāĻ°:

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

4 āĻ—āĻŋāĻ—āĻžāĻŦāĻžāĻ‡āĻŸ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ°āĻžāĻ‰āĻ¨ā§āĻĄ: 4294967296B

āĻĻā§āĻ‡ āĻĻā§āĻŦāĻžāĻ°āĻž āĻ—ā§āĻŖ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ LVM PV āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻžāĻ° āĻœāĻ¨ā§āĻ¯ 4194304B āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨: 8594128896B
āĻ†āĻ¸ā§āĻ¨ NVMe RAID 1-āĻ LVM āĻĒāĻžāĻ¤āĻ˛āĻž āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻž āĻāĻŦāĻ‚ āĻ¤āĻžāĻĻā§‡āĻ° āĻŦā§āĻ¯āĻžāĻ•āĻ†āĻĒ āĻ•āĻĒāĻŋ āĻ°āĻžāĻ–āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĒā§ƒāĻĨāĻ• āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻļāĻ¨ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋ:

#lvcreate -L 8594128896B --name images root

āĻ•āĻŋ āĻœāĻ¨ā§āĻ¯..?āĻāĻ–āĻžāĻ¨ā§‡ āĻĒā§āĻ°āĻļā§āĻ¨ āĻ‰āĻ āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡: āĻ•ā§‡āĻ¨ LVM āĻĒāĻžāĻ¤āĻ˛āĻž āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻž āĻ†āĻ˛āĻžāĻĻāĻžāĻ­āĻžāĻŦā§‡ āĻ°āĻžāĻ–ā§āĻ¨ āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋ āĻāĻ–āĻ¨āĻ“ NVMe-āĻ¤ā§‡ āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻĻā§āĻ°ā§āĻ¤ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤

āĻ¯āĻĻāĻŋāĻ“ āĻāĻ–āĻžāĻ¨ā§‡ āĻ—āĻ¤āĻŋ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ, āĻāĻŸāĻŋ āĻŽā§‚āĻ˛ āĻ•āĻžāĻ°āĻŖ āĻĨā§‡āĻ•ā§‡ āĻ…āĻ¨ā§‡āĻ• āĻĻā§‚āĻ°ā§‡āĨ¤ āĻœāĻŋāĻ¨āĻŋāĻ¸āĻŸāĻŋ āĻšāĻ˛ āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ¨ā§āĻĻā§āĨ¤ āĻāĻŸāĻŋāĻ¤ā§‡ āĻ•āĻŋāĻ›ā§ āĻ˜āĻŸāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻāĻŦāĻ‚ āĻ¯āĻĻāĻŋ LVM āĻĒāĻžāĻ¤āĻ˛āĻž āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻž āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻāĻŸāĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻšāĻžāĻ°āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻŦā§‡āĨ¤ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻž āĻ›āĻžāĻĄāĻŧāĻž, āĻĒāĻžāĻ¤āĻ˛āĻž āĻ­āĻ˛āĻŋāĻ‰āĻŽ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻž āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻ…āĻ¸āĻŽā§āĻ­āĻŦ āĻšāĻŦā§‡āĨ¤

āĻāĻ•āĻŸāĻŋ āĻĒā§ƒāĻĨāĻ• āĻ¨āĻ¨-āĻ•ā§āĻ¯āĻžāĻļā§‡āĻĄ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻĻā§āĻ°ā§āĻ¤, āĻ­āĻ˛āĻŋāĻ‰āĻŽā§‡ āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻž āĻ¸āĻ°āĻžāĻ¨ā§‹āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡, āĻ†āĻŽāĻ°āĻž āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ•ā§āĻˇāĻ¤āĻŋ āĻŦāĻž āĻĻā§āĻ°ā§āĻ¨ā§€āĻ¤āĻŋāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻžāĻ° āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻžāĻ° āĻ¨āĻŋāĻļā§āĻšāĻ¯āĻŧāĻ¤āĻž āĻĻāĻŋāĻ‡āĨ¤ āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ•ā§āĻˇāĻ¤āĻŋāĻ° āĻĢāĻ˛ā§‡ āĻ¸ā§ƒāĻˇā§āĻŸ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•ā§āĻˇāĻ¤āĻŋ āĻĒāĻžāĻ¤āĻ˛āĻž āĻ­āĻ˛āĻŋāĻ‰āĻŽā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧāĻ•āĻ°āĻŖ āĻ•āĻ°āĻž āĻšāĻŦā§‡, āĻ¯āĻž āĻŽāĻžāĻ¤ā§āĻ°āĻžāĻ° āĻ†āĻĻā§‡āĻļ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ¨āĻ°ā§āĻĻā§āĻ§āĻžāĻ°ā§‡āĻ° āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ•ā§‡ āĻ¸āĻšāĻœ āĻ•āĻ°āĻŦā§‡āĨ¤ āĻ‰āĻšā§āĻš āĻ¸āĻŽā§āĻ­āĻžāĻŦāĻ¨āĻžāĻ° āĻ¸āĻžāĻĨā§‡, āĻāĻ‡ āĻ•ā§āĻˇāĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ FS āĻ˛āĻ— āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻĒā§āĻ¨āĻ°ā§āĻĻā§āĻ§āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤

āĻ¤āĻĻā§āĻĒāĻ°āĻŋ, āĻ¯āĻĻāĻŋ āĻāĻ•āĻŸāĻŋ āĻĒāĻžāĻ¤āĻ˛āĻž āĻ­āĻ˛āĻŋāĻ‰āĻŽā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸ āĻ†āĻ—ā§‡ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ° āĻĒāĻ°ā§‡ āĻ•ā§āĻ¯āĻžāĻļā§‡āĻŸāĻŋ āĻ•āĻŽāĻĒāĻ•ā§āĻˇā§‡ āĻāĻ•āĻŦāĻžāĻ° āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻŦā§‡, LVM āĻĨāĻŋāĻ¨ā§‡āĻ° āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ā§‡āĻ° āĻ•āĻžāĻ°āĻŖā§‡, āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ•ā§āĻˇāĻ¤āĻŋāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸāĻŸāĻŋāĻ° āĻ…āĻ–āĻŖā§āĻĄāĻ¤āĻž āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤ .

āĻ†āĻ¸ā§āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ VG āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋ āĻ¯āĻž āĻĒāĻžāĻ¤āĻ˛āĻž-āĻŦāĻŋāĻ§āĻžāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĻāĻžāĻ¯āĻŧā§€ āĻšāĻŦā§‡:

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

āĻ†āĻ¸ā§āĻ¨ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋ:

#lvcreate -L 274877906944B --poolmetadataspare y --poolmetadatasize 4294967296B --chunksize 64k -Z y -T images/thin-pool
āĻ•ā§‡āĻ¨ -Z yāĻāĻ‡ āĻŽā§‹āĻĄāĻŸāĻŋ āĻ†āĻ¸āĻ˛ā§‡ āĻ•ā§€ āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ā§‡ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ - āĻ¸ā§āĻĨāĻžāĻ¨ āĻĒā§āĻ¨āĻƒāĻŦāĻ¨ā§āĻŸāĻ¨ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻ•āĻŸāĻŋ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻļāĻŋāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻĄā§‡āĻŸāĻž āĻ…āĻ¨ā§āĻ¯ āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻŽā§‡āĻļāĻŋāĻ¨ā§‡ āĻĢāĻžāĻāĻ¸ āĻšāĻ“āĻ¯āĻŧāĻž āĻĒā§āĻ°āĻ¤āĻŋāĻ°ā§‹āĻ§ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ - 64k-āĻāĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻ›ā§‹āĻŸ āĻŦā§āĻ˛āĻ•āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻ˛ā§‡āĻ–āĻžāĻ° āĻ—āĻ¤āĻŋ āĻŦāĻžāĻĄāĻŧāĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻœāĻŋāĻ°ā§‹āĻŋāĻ‚ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻĒāĻžāĻ¤āĻ˛āĻž āĻ­āĻ˛āĻŋāĻ‰āĻŽā§‡āĻ° āĻĒā§‚āĻ°ā§āĻŦā§‡ āĻ…āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻāĻ˛āĻžāĻ•āĻžāĻ¯āĻŧ 64k āĻāĻ° āĻ•āĻŽ āĻ˛āĻŋāĻ–āĻ˛ā§‡ āĻ•ā§āĻ¯āĻžāĻļā§‡ 64K āĻĒā§āĻ°āĻžāĻ¨ā§āĻ¤-āĻ¸āĻžāĻ°āĻŋāĻŦāĻĻā§āĻ§ āĻšāĻ¯āĻŧā§‡ āĻ¯āĻžāĻŦā§‡āĨ¤ āĻāĻŸāĻŋ āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ•āĻ°āĻž āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸āĻŸāĻŋāĻ•ā§‡ āĻŦāĻžāĻ‡āĻĒāĻžāĻ¸ āĻ•āĻ°ā§‡ āĻ•ā§āĻ¯āĻžāĻļā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻŦā§‡āĨ¤

āĻ†āĻ¸ā§āĻ¨ āĻāĻ˛āĻ­āĻŋāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¸āĻ‚āĻļā§āĻ˛āĻŋāĻˇā§āĻŸ āĻĒāĻŋāĻ­āĻŋāĻ¤ā§‡ āĻ¸āĻ°āĻžāĻ¨ā§‹ āĻ¯āĻžāĻ•:

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

āĻ†āĻ¸ā§āĻ¨ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡ āĻĻā§‡āĻ–ā§āĻ¨:

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

āĻ†āĻ¸ā§āĻ¨ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĒāĻžāĻ¤āĻ˛āĻž āĻ­āĻ˛āĻŋāĻ‰āĻŽ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋ:

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

āĻ†āĻŽāĻ°āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻāĻŦāĻ‚ āĻĒāĻ°ā§āĻ¯āĻŦā§‡āĻ•ā§āĻˇāĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻŦ:

#apt-get install sysstat fio

āĻāĻ‡āĻ­āĻžāĻŦā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ°āĻŋāĻ¯āĻŧā§‡āĻ˛ āĻŸāĻžāĻ‡āĻŽā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻ†āĻšāĻ°āĻŖ āĻĒāĻ°ā§āĻ¯āĻŦā§‡āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨:

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

āĻāĻ‡āĻ­āĻžāĻŦā§‡ āĻ†āĻŽāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ:

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

āĻ¸āĻžāĻŦāĻ§āĻžāĻ¨ā§‡ ! āĻ¸āĻŽā§āĻĒāĻĻ !āĻāĻ‡ āĻ•ā§‹āĻĄāĻŸāĻŋ 36āĻŸāĻŋ āĻ­āĻŋāĻ¨ā§āĻ¨ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻžāĻ˛āĻžāĻŦā§‡, āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ 4 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻšāĻ˛āĻŦā§‡āĨ¤ āĻ…āĻ°ā§āĻ§ā§‡āĻ• āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ‡ āĻ°ā§‡āĻ•āĻ°ā§āĻĄāĻŋāĻ‚āĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯āĨ¤ āĻ†āĻĒāĻ¨āĻŋ 4 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡ NVMe-āĻ āĻ…āĻ¨ā§‡āĻ• āĻ•āĻŋāĻ›ā§ āĻ°ā§‡āĻ•āĻ°ā§āĻĄ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨āĨ¤ āĻĒā§āĻ°āĻ¤āĻŋ āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡ 3 āĻ—āĻŋāĻ—āĻžāĻŦāĻžāĻ‡āĻŸ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤āĨ¤ āĻ¸ā§āĻ¤āĻ°āĻžāĻ‚, āĻ˛ā§‡āĻ–āĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•āĻžāĻ› āĻĨā§‡āĻ•ā§‡ 216 āĻ—āĻŋāĻ—āĻžāĻŦāĻžāĻ‡āĻŸ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻāĻ¸āĻāĻ¸āĻĄāĻŋ āĻ¸āĻŽā§āĻĒāĻĻ āĻ–ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻĒāĻĄāĻŧāĻž āĻ˛ā§‡āĻ–āĻž āĻŽāĻŋāĻļā§āĻ°āĻŋāĻ¤?āĻšā§āĻ¯āĻžāĻ. āĻāĻŸāĻŋ āĻ†āĻ˛āĻžāĻĻāĻžāĻ­āĻžāĻŦā§‡ āĻĒāĻĄāĻŧāĻž āĻāĻŦāĻ‚ āĻ˛ā§‡āĻ–āĻžāĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻšāĻžāĻ˛āĻžāĻ¨ā§‹āĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§‹āĻ§āĻ—āĻŽā§āĻ¯ āĻšāĻ¯āĻŧāĨ¤ āĻ¤āĻĻā§āĻĒāĻ°āĻŋ, āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¤āĻž āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻž āĻŦā§‹āĻ§āĻ—āĻŽā§āĻ¯ āĻšāĻ¯āĻŧ āĻ¯āĻžāĻ¤ā§‡ āĻĒā§‚āĻ°ā§āĻŦā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ˛ā§‡āĻ–āĻž āĻĒāĻĄāĻŧāĻžāĻ•ā§‡ āĻĒā§āĻ°āĻ­āĻžāĻŦāĻŋāĻ¤ āĻ¨āĻž āĻ•āĻ°ā§‡āĨ¤

āĻĒā§āĻ°āĻĨāĻŽ āĻ˛āĻžā§āĻšā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€āĻ¤ā§‡ āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻāĻŦāĻ‚ āĻĒāĻžāĻ¤āĻ˛āĻž āĻ­āĻ˛āĻŋāĻ‰āĻŽ āĻĒā§‚āĻ°āĻŖ āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻĢāĻ˛ā§‡ āĻĢāĻ˛āĻžāĻĢāĻ˛āĻ—ā§āĻ˛āĻŋ āĻŦā§āĻ¯āĻžāĻĒāĻ•āĻ­āĻžāĻŦā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻļā§‡āĻˇ āĻ˛āĻžā§āĻšā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ­āĻ°āĻž āĻ•ā§āĻ¯āĻžāĻļā§‡āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻŸāĻŋ āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœ āĻ•āĻ°āĻ¤ā§‡ āĻĒā§‡āĻ°ā§‡āĻ›āĻŋāĻ˛ āĻ•āĻŋāĻ¨āĻž āĻ¤āĻžāĻ° āĻ‰āĻĒāĻ°āĻ“ āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°ā§‡āĨ¤

āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻœāĻŋāĻ¨āĻŋāĻ¸āĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡, āĻ†āĻŽāĻŋ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻĒāĻžāĻ¤āĻ˛āĻž āĻ­āĻ˛āĻŋāĻ‰āĻŽā§‡āĻ° āĻ—āĻ¤āĻŋ āĻĒāĻ°āĻŋāĻŽāĻžāĻĒā§‡āĻ° āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ āĻ•āĻ°āĻ›āĻŋ āĻ¯ā§‡āĻ–āĻžāĻ¨ āĻĨā§‡āĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤ āĻĒā§āĻ°āĻĨāĻŽ āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻĒāĻ° āĻ…āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§‡ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻāĻ˛ā§‹āĻŽā§‡āĻ˛ā§‹ āĻ˛ā§‡āĻ–āĻžāĻ—ā§āĻ˛āĻŋ āĻĻā§āĻ°ā§āĻ¤ āĻ¤ā§āĻŦāĻ°āĻžāĻ¨ā§āĻŦāĻŋāĻ¤ āĻšāĻ¯āĻŧ, āĻŦāĻŋāĻļā§‡āĻˇ āĻ•āĻ°ā§‡ āĻ¯āĻ–āĻ¨ āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻāĻ–āĻ¨āĻ“ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻĒā§‚āĻ°ā§āĻŖ āĻ¨āĻž āĻšāĻ¯āĻŧ āĻ¤āĻž āĻ˛ā§‡āĻ–āĻ•ā§‡āĻ° āĻĒāĻ°ā§āĻ¯āĻŦā§‡āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻžāĻ° āĻ¸ā§āĻ¯ā§‹āĻ— āĻ›āĻŋāĻ˛āĨ¤ āĻ•āĻĒāĻŋ-āĻ…āĻ¨-āĻ°āĻžāĻ‡āĻŸ āĻ˛ā§‡āĻ–āĻžāĻ° āĻļāĻŦā§āĻĻāĻžāĻ°ā§āĻĨāĻŦāĻŋāĻĻā§āĻ¯āĻž, āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ¸āĻžāĻ°āĻŋāĻŦāĻĻā§āĻ§āĻ•āĻ°āĻŖ āĻāĻŦāĻ‚ āĻĒāĻžāĻ¤āĻ˛āĻž āĻ­āĻ˛āĻŋāĻ‰āĻŽ āĻŦā§āĻ˛āĻ•ā§‡āĻ° āĻ•āĻžāĻ°āĻŖā§‡ āĻāĻŸāĻŋ āĻ˜āĻŸā§‡ āĻāĻŦāĻ‚ RAID 6-āĻ āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻ˛ā§‡āĻ–āĻž RAID 6 āĻĨā§‡āĻ•ā§‡ āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻ°āĻŋāĻĄā§‡ āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻšāĻ¯āĻŧāĨ¤ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨ā§‡, RAID 6 āĻĨā§‡āĻ•ā§‡ āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻ°āĻŋāĻĄāĻŋāĻ‚ 6 āĻ—ā§āĻŖ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ (āĻ…ā§āĻ¯āĻžāĻ°ā§‡āĻ¤ā§‡ SATA SSD-āĻāĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž) āĻ˛ā§‡āĻ–āĻžāĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻĻā§āĻ°ā§āĻ¤āĨ¤ āĻ•āĻžāĻ°āĻŖ CoW-āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§āĻ˛āĻ•āĻ—ā§āĻ˛āĻŋ āĻāĻ•āĻŸāĻŋ āĻĒāĻžāĻ¤āĻ˛āĻž āĻĒā§āĻ˛ āĻĨā§‡āĻ•ā§‡ āĻ•ā§āĻ°āĻŽāĻžāĻ¨ā§āĻ¸āĻžāĻ°ā§‡ āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻ°ā§‡āĻ•āĻ°ā§āĻĄāĻŋāĻ‚, āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻ…āĻ‚āĻļā§‡, āĻ•ā§āĻ°āĻŽāĻžāĻ¨ā§āĻ¸āĻžāĻ°ā§‡ āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻšāĻ¯āĻŧāĨ¤

āĻāĻ‡ āĻ‰āĻ­āĻ¯āĻŧ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡.

āĻ•ā§āĻ¯āĻžāĻļā§‡ "āĻ¸ā§āĻ¸āĻ™ā§āĻ—āĻ¤" āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸ

āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ•ā§āĻˇāĻ¤āĻŋ/āĻ•ā§āĻˇāĻ¤āĻŋāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻĄā§‡āĻŸāĻž āĻšāĻžāĻ°āĻžāĻ¨ā§‹āĻ° āĻā§āĻāĻ•āĻŋ āĻ•āĻŽāĻžāĻ¤ā§‡, āĻ˛ā§‡āĻ–āĻ• āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ¤āĻžāĻĻā§‡āĻ° āĻ…āĻ–āĻŖā§āĻĄāĻ¤āĻžāĻ° āĻ—ā§āĻ¯āĻžāĻ°āĻžāĻ¨ā§āĻŸāĻŋ āĻĻā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸāĻ—ā§āĻ˛āĻŋ āĻ˜ā§‹āĻ°āĻžāĻ¨ā§‹āĻ° āĻ…āĻ¨ā§āĻļā§€āĻ˛āĻ¨ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦ āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨āĨ¤

āĻĒā§āĻ°āĻĨāĻŽāĻ¤, āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻĒāĻžāĻ¤āĻ˛āĻž āĻ­āĻ˛āĻŋāĻ‰āĻŽ āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻž āĻāĻ•āĻŸāĻŋ āĻ†āĻ¨āĻ•ā§āĻ¯āĻžāĻļāĻĄ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡ āĻĨāĻžāĻ•ā§‡, āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻž āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯āĻĒā§‚āĻ°ā§āĻŖ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ āĻ¸āĻŽā§āĻ­āĻžāĻŦā§āĻ¯ āĻ•ā§āĻˇāĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻĄā§‡āĻŸāĻž āĻŦā§āĻ˛āĻ•ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ†āĻ˛āĻžāĻĻāĻž āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤

āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸ āĻ˜ā§‚āĻ°ā§āĻŖāĻ¨ āĻšāĻ•ā§āĻ° āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ•ā§āĻˇāĻ¤āĻŋāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸāĻ—ā§āĻ˛āĻŋāĻ° āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻĄā§‡āĻŸāĻžāĻ° āĻ…āĻ–āĻŖā§āĻĄāĻ¤āĻžāĻ° āĻ—ā§āĻ¯āĻžāĻ°āĻžāĻ¨ā§āĻŸāĻŋ āĻĻā§‡āĻ¯āĻŧ:

  1. <name> āĻ¨āĻžāĻŽā§‡āĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĒāĻžāĻ¤āĻ˛āĻž āĻ­āĻ˛āĻŋāĻ‰āĻŽā§‡āĻ° āĻœāĻ¨ā§āĻ¯, <name>. āĻ•ā§āĻ¯āĻžāĻļā§‡āĻĄ āĻ¨āĻžāĻŽā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨
  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 SSDs āĻŽāĻžāĻ¤ā§āĻ° āĻĻā§āĻŦāĻŋāĻ—ā§āĻŖ āĻĻā§€āĻ°ā§āĻ˜āĻ¸ā§āĻĨāĻžāĻ¯āĻŧā§€ āĻšāĻŦā§‡āĨ¤ āĻ…āĻ¤āĻāĻŦ, āĻ†āĻŽāĻ°āĻž āĻ§āĻ°ā§‡ āĻ¨ā§‡āĻŦ āĻ¯ā§‡ āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻ˛ā§‹āĻĄ āĻĒāĻĄāĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¯āĻžāĻ¯āĻŧ, āĻāĻŦāĻ‚ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ˛ā§‡āĻ–āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ—āĻĄāĻŧā§‡ āĻ•āĻŽ āĻ˛ā§‹āĻĄā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻŽāĻŋāĻ˛āĻŋāĻ¤ āĻ…āĻ¤ā§āĻ¯āĻ¨ā§āĻ¤ āĻ‰āĻšā§āĻš āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ˛āĻžāĻĒā§‡āĻ° āĻ¤ā§āĻ˛āĻ¨āĻžāĻŽā§‚āĻ˛āĻ•āĻ­āĻžāĻŦā§‡ āĻ¸ā§āĻŦāĻ˛ā§āĻĒāĻŽā§‡āĻ¯āĻŧāĻžāĻĻā§€ āĻŦāĻŋāĻ¸ā§āĻĢā§‹āĻ°āĻŖ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
  4. āĻ¯āĻ¤ āĻ¤āĻžāĻĄāĻŧāĻžāĻ¤āĻžāĻĄāĻŧāĻŋ āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻļā§‚āĻ¨ā§āĻ¯ āĻ§āĻ°āĻž (āĻŦāĻž āĻ¤ā§ˆāĻ°āĻŋ), āĻ†āĻŽāĻ°āĻž <name>.cached āĻ <name>.committed āĻ¨āĻžāĻŽāĻ•āĻ°āĻŖ āĻ•āĻ°āĻŋāĨ¤ āĻĒā§āĻ°āĻžāĻ¨ā§‹ <name>.committed āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤
  5. āĻāĻšā§āĻ›āĻŋāĻ•āĻ­āĻžāĻŦā§‡, āĻ•ā§āĻ¯āĻžāĻļā§‡ 100% āĻĒā§‚āĻ°ā§āĻŖ āĻšāĻ˛ā§‡, āĻāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻāĻ‡āĻ­āĻžāĻŦā§‡ āĻāĻŸāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ…āĻ°ā§āĻ§-āĻ–āĻžāĻ˛āĻŋ āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ¸āĻš, āĻ˛ā§‡āĻ–āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻŸāĻŋ āĻ…āĻ¨ā§‡āĻ• āĻĻā§āĻ°ā§āĻ¤ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĨ¤
  6. āĻŽāĻžāĻ‡āĻ—ā§āĻ°ā§‡āĻļāĻ¨ āĻĨā§āĻ°ā§‡āĻļāĻšā§‹āĻ˛ā§āĻĄ āĻļā§‚āĻ¨ā§āĻ¯ā§‡ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨: #lvchange --quiet --cachesettings "migration_threshold=0" cache/cachedata āĻāĻŸāĻŋ āĻ¸āĻžāĻŽāĻ¯āĻŧāĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ•ā§āĻ¯āĻžāĻļā§‡āĻ•ā§‡ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻŽāĻŋāĻĄāĻŋāĻ¯āĻŧāĻžāĻ¤ā§‡ āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœ āĻ•āĻ°āĻž āĻĨā§‡āĻ•ā§‡ āĻŦāĻžāĻ§āĻž āĻĻā§‡āĻŦā§‡āĨ¤
  7. āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻ…āĻ¨ā§‡āĻ• āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ¨āĻž āĻšāĻ“āĻ¯āĻŧāĻž āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ†āĻŽāĻ°āĻž āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻŋ #lvs --rows --reportformat basic --quiet -ocache_dirty_blocks cache/cachedata | awk '{print $2}' āĻ…āĻĨāĻŦāĻž āĻŸāĻžāĻ‡āĻŽāĻžāĻ° āĻŦāĻ¨ā§āĻ§ āĻšāĻ¯āĻŧā§‡ āĻ¯āĻžāĻŦā§‡āĨ¤
  8. āĻ†āĻŽāĻ°āĻž āĻ†āĻŦāĻžāĻ° āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°āĻŋāĨ¤

āĻŽāĻžāĻ‡āĻ—ā§āĻ°ā§‡āĻļāĻ¨ āĻĨā§āĻ°ā§‡āĻļāĻšā§‹āĻ˛ā§āĻĄ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ…āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻ•ā§‡āĻ¨...?āĻœāĻŋāĻ¨āĻŋāĻ¸āĻŸāĻŋ āĻšāĻ˛ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻ…āĻ¨ā§āĻļā§€āĻ˛āĻ¨ā§‡, āĻāĻ•āĻŸāĻŋ "āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ" āĻ°ā§‡āĻ•āĻ°ā§āĻĄāĻŋāĻ‚ āĻ†āĻ¸āĻ˛ā§‡ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻ°ā§āĻ¯āĻžāĻ¨ā§āĻĄāĻŽ āĻ¨āĻ¯āĻŧāĨ¤ āĻ¯āĻĻāĻŋ āĻ†āĻŽāĻ°āĻž 4 āĻ•āĻŋāĻ˛ā§‹āĻŦāĻžāĻ‡āĻŸ āĻ†āĻ•āĻžāĻ°ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸ā§‡āĻ•ā§āĻŸāĻ°ā§‡ āĻ•āĻŋāĻ›ā§ āĻ˛āĻŋāĻ–ā§‡ āĻĨāĻžāĻ•āĻŋ, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ•āĻ¯āĻŧā§‡āĻ• āĻŽāĻŋāĻ¨āĻŋāĻŸā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻ‡ āĻŦāĻž āĻĒā§āĻ°āĻ¤āĻŋāĻŦā§‡āĻļā§€ (+- 32K) āĻ¸ā§‡āĻ•ā§āĻŸāĻ°āĻ—ā§āĻ˛āĻŋāĻ° āĻāĻ•āĻŸāĻŋāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ°ā§‡āĻ•āĻ°ā§āĻĄ āĻ¤ā§ˆāĻ°āĻŋ āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻ¸āĻŽā§āĻ­āĻžāĻŦāĻ¨āĻž āĻŦā§‡āĻļāĻŋāĨ¤

āĻŽāĻžāĻ‡āĻ—ā§āĻ°ā§‡āĻļāĻ¨ āĻĨā§āĻ°ā§‡āĻļāĻšā§‹āĻ˛ā§āĻĄāĻ•ā§‡ āĻļā§‚āĻ¨ā§āĻ¯ā§‡ āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§‡, āĻ†āĻŽāĻ°āĻž SATA SSD-āĻ¤ā§‡ āĻ˛ā§‡āĻ–āĻžāĻ° āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœā§‡āĻļāĻ¨ āĻ¸ā§āĻĨāĻ—āĻŋāĻ¤ āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻāĻ•āĻŸāĻŋ 64K āĻŦā§āĻ˛āĻ•ā§‡ āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻŋāĨ¤ āĻāĻŸāĻŋ āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ–āĻ¯ā§‹āĻ—ā§āĻ¯āĻ­āĻžāĻŦā§‡ SATA SSD āĻāĻ° āĻ¸āĻ‚āĻ¸ā§āĻĨāĻžāĻ¨ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ•āĻ°ā§‡āĨ¤

āĻ•ā§‹āĻĄ āĻ•ā§‹āĻĨāĻžāĻ¯āĻŧ..?āĻĻā§āĻ°ā§āĻ­āĻžāĻ—ā§āĻ¯āĻŦāĻļāĻ¤, āĻ˛ā§‡āĻ–āĻ• āĻ¨āĻŋāĻœā§‡āĻ•ā§‡ āĻŦā§āĻ¯āĻžāĻļ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡āĻ° āĻŦāĻŋāĻ•āĻžāĻļā§‡ āĻ…āĻĒāĻ°ā§āĻ¯āĻžāĻĒā§āĻ¤āĻ­āĻžāĻŦā§‡ āĻ¯ā§‹āĻ—ā§āĻ¯ āĻŦāĻ˛ā§‡ āĻŽāĻ¨ā§‡ āĻ•āĻ°ā§‡āĻ¨ āĻ•āĻžāĻ°āĻŖ āĻ¤āĻŋāĻ¨āĻŋ 100% āĻ¸ā§āĻŦ-āĻļāĻŋāĻ•ā§āĻˇāĻŋāĻ¤ āĻāĻŦāĻ‚ "āĻ—ā§āĻ—āĻ˛"-āĻšāĻžāĻ˛āĻŋāĻ¤ āĻŦāĻŋāĻ•āĻžāĻļā§‡āĻ° āĻ…āĻ¨ā§āĻļā§€āĻ˛āĻ¨ āĻ•āĻ°ā§‡āĻ¨, āĻ¤āĻžāĻ‡ āĻ¤āĻŋāĻ¨āĻŋ āĻŦāĻŋāĻļā§āĻŦāĻžāĻ¸ āĻ•āĻ°ā§‡āĻ¨ āĻ¯ā§‡ āĻ¤āĻžāĻ° āĻšāĻžāĻ¤ āĻĨā§‡āĻ•ā§‡ āĻŦā§‡āĻ°āĻŋāĻ¯āĻŧā§‡ āĻ†āĻ¸āĻž āĻ­āĻ¯āĻŧāĻ™ā§āĻ•āĻ° āĻ•ā§‹āĻĄāĻŸāĻŋ āĻ•āĻžāĻ°āĻ“ āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¨āĻ¯āĻŧāĨ¤ āĻ…āĻ¨ā§āĻ¯

āĻ†āĻŽāĻŋ āĻŽāĻ¨ā§‡ āĻ•āĻ°āĻŋ āĻ¯ā§‡ āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡āĻ° āĻĒā§‡āĻļāĻžāĻĻāĻžāĻ°āĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§‡ āĻ‰āĻĒāĻ°ā§‡ āĻŦāĻ°ā§āĻŖāĻŋāĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¯ā§āĻ•ā§āĻ¤āĻŋ āĻ¸ā§āĻŦāĻžāĻ§ā§€āĻ¨āĻ­āĻžāĻŦā§‡ āĻšāĻŋāĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻšāĻŦā§‡āĻ¨, āĻāĻŦāĻ‚ āĻ¸āĻŽā§āĻ­āĻŦāĻ¤, āĻāĻŽāĻ¨āĻ•āĻŋ āĻ¸ā§āĻ¨ā§āĻĻāĻ°āĻ­āĻžāĻŦā§‡ āĻāĻŸāĻŋāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽāĻĄ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻž āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻĄāĻŋāĻœāĻžāĻ‡āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡āĻ¨, āĻ¯ā§‡āĻŽāĻ¨āĻŸāĻŋ āĻ˛ā§‡āĻ–āĻ• āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡āĻ›ā§‡āĻ¨āĨ¤

āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸ āĻ˜ā§‚āĻ°ā§āĻŖāĻ¨ āĻ¸ā§āĻ•āĻŋāĻŽ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ•ā§āĻ°āĻŽāĻžāĻ—āĻ¤ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸāĻ•ā§‡ SATA SSD-āĻ¤ā§‡ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœ āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻŦā§‡ āĻ¨āĻž, āĻ¤āĻŦā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ°āĻ•ā§‡, thin_delta āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻŸāĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡ āĻ•ā§‹āĻ¨ āĻŦā§āĻ˛āĻ•āĻ—ā§āĻ˛āĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¤āĻž āĻ–ā§āĻāĻœā§‡ āĻŦā§‡āĻ° āĻ•āĻ°āĻžāĻ° āĻ…āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§‡āĻŦā§‡ āĻāĻŦāĻ‚ āĻāĻ‡āĻ­āĻžāĻŦā§‡ āĻ•ā§āĻˇāĻ¤āĻŋāĻ° āĻ¸ā§āĻĨāĻžāĻ¨ā§€āĻ¯āĻŧāĻ•āĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡āĨ¤ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻ­āĻ˛āĻŋāĻ‰āĻŽ, āĻŦā§āĻ¯āĻžāĻĒāĻ•āĻ­āĻžāĻŦā§‡ āĻĒā§āĻ¨āĻ°ā§āĻĻā§āĻ§āĻžāĻ° āĻ¸āĻ°āĻ˛ā§€āĻ•āĻ°āĻŖ.

libvirt/KVM-āĻ TRIM/āĻŦāĻ°ā§āĻœāĻ¨ āĻ•āĻ°ā§āĻ¨

āĻ•āĻžāĻ°āĻŖ āĻĄāĻžāĻŸāĻž āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻŦā§‡ KVM āĻšāĻ˛āĻŽāĻžāĻ¨ libvirt-āĻāĻ° āĻœāĻ¨ā§āĻ¯, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° VM-āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ–āĻžāĻ˛āĻŋ āĻœāĻžāĻ¯āĻŧāĻ—āĻž āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¨āĻ¯āĻŧ, āĻ¯āĻž āĻ†āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¨ā§‡āĻ‡ āĻ¤āĻž āĻ–āĻžāĻ˛āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻļā§‡āĻ–āĻžāĻ¨ā§‹ āĻāĻ•āĻŸāĻŋ āĻ­āĻžāĻ˛ āĻ§āĻžāĻ°āĻŖāĻžāĨ¤

āĻ­āĻžāĻ°ā§āĻšā§āĻ¯āĻŧāĻžāĻ˛ āĻĄāĻŋāĻ¸ā§āĻ•ā§‡ TRIM/DISCARD āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ…āĻ¨ā§āĻ•āĻ°āĻŖ āĻ•āĻ°ā§‡ āĻāĻŸāĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻāĻŸāĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ•āĻ¨ā§āĻŸā§āĻ°ā§‹āĻ˛āĻžāĻ°ā§‡āĻ° āĻ§āĻ°āĻ¨āĻŸāĻŋāĻ•ā§‡ virtio-scsi-āĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ āĻāĻŦāĻ‚ xml āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤

#virsh edit vmname
<disk type='block' device='disk'>
<driver name='qemu' type='raw' cache='writethrough' io='threads' discard='unmap'/>
<source dev='/dev/images/vmname'/>
<backingStore/>
<target dev='sda' bus='scsi'/>
<alias name='scsi0-0-0-0'/>
<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</disk>

<controller type='scsi' index='0' model='virtio-scsi'>
<alias name='scsi0'/>
<address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
</controller>

āĻ—ā§‡āĻ¸ā§āĻŸ OS āĻĨā§‡āĻ•ā§‡ āĻāĻ‡ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĄāĻŋāĻ¸āĻ•āĻžāĻ°ā§āĻĄāĻ—ā§āĻ˛āĻŋ LVM āĻĻā§āĻŦāĻžāĻ°āĻž āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ•ā§āĻ¯āĻžāĻļā§‡ āĻāĻŦāĻ‚ āĻĒāĻžāĻ¤āĻ˛āĻž āĻĒā§āĻ˛ āĻ‰āĻ­āĻ¯āĻŧ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡āĻ‡ āĻŦā§āĻ˛āĻ•āĻ—ā§āĻ˛āĻŋ āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻŽā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸ āĻŽā§āĻ›ā§‡ āĻĢā§‡āĻ˛āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻŸāĻŋ āĻŽā§‚āĻ˛āĻ¤ āĻŦāĻŋāĻ˛āĻŽā§āĻŦāĻŋāĻ¤ āĻĒāĻĻā§āĻ§āĻ¤āĻŋāĻ¤ā§‡ āĻ˜āĻŸā§‡āĨ¤

BTRFS āĻŦā§āĻ¯āĻžāĻ•āĻ†āĻĒ

āĻ¸āĻ™ā§āĻ—ā§‡ āĻ°ā§‡āĻĄāĻŋāĻŽā§‡āĻĄ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨ āĻšāĻ°āĻŽ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻāĻŦāĻ‚ āĻ¨āĻŋāĻœā§‡āĻ° āĻā§āĻāĻ•āĻŋāĻ¤ā§‡. āĻ˛ā§‡āĻ–āĻ• āĻāĻ‡ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻ¨āĻŋāĻœā§‡ āĻāĻŦāĻ‚ āĻāĻ•āĻšā§‡āĻŸāĻŋāĻ¯āĻŧāĻžāĻ­āĻžāĻŦā§‡ āĻ¨āĻŋāĻœā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ˛āĻŋāĻ–ā§‡āĻ›ā§‡āĻ¨āĨ¤ āĻ†āĻŽāĻŋ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ¯ā§‡ āĻ…āĻ¨ā§‡āĻ• āĻ…āĻ­āĻŋāĻœā§āĻž āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻĻā§‡āĻ° āĻ…āĻ¨ā§āĻ°ā§‚āĻĒ āĻ¸āĻ°āĻžā§āĻœāĻžāĻŽ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¯ āĻ•āĻžāĻ°āĻ“ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ•āĻ°āĻžāĻ° āĻĻāĻ°āĻ•āĻžāĻ° āĻ¨ā§‡āĻ‡āĨ¤

āĻŦā§āĻ¯āĻžāĻ•āĻ†āĻĒ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡ āĻāĻ•āĻŸāĻŋ āĻ­āĻ˛āĻŋāĻ‰āĻŽ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•:

#lvcreate -L 256G --name backup backup

āĻ†āĻ¸ā§āĻ¨ āĻāĻŸāĻŋ BTRFS-āĻ āĻĢāĻ°ā§āĻŽā§āĻ¯āĻžāĻŸ āĻ•āĻ°āĻŋ:

#mkfs.btrfs /dev/backup/backup

āĻ†āĻ¸ā§āĻ¨ āĻŽāĻžāĻ‰āĻ¨ā§āĻŸ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ āĻĢāĻžāĻ‡āĻ˛ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻ°ā§āĻŸ āĻ¸āĻžāĻŦāĻ¸ā§‡āĻ•āĻļāĻ¨āĻ—ā§āĻ˛āĻŋ āĻŽāĻžāĻ‰āĻ¨ā§āĻŸ āĻ•āĻ°āĻŋ:

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

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

āĻŦā§āĻ¯āĻžāĻ•āĻ†āĻĒā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•:

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

āĻŦā§āĻ¯āĻžāĻ•āĻ†āĻĒ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•:

#mkdir /root/btrfs-backup

āĻ†āĻ¸ā§āĻ¨ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻŸāĻŋ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ•āĻ°āĻŋ:

āĻĒā§āĻ°āĻšā§āĻ° āĻ­ā§€āĻ¤āĻŋāĻ•āĻ° āĻŦā§āĻ¯āĻžāĻļ āĻ•ā§‹āĻĄāĨ¤ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻŋāĻœā§‡āĻ° āĻā§āĻāĻ•āĻŋāĻ¤ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ˛ā§‡āĻ–āĻ•āĻ•ā§‡ āĻ°āĻžāĻ— āĻ•āĻ°ā§‡ āĻšāĻŋāĻ āĻŋ āĻ˛āĻŋāĻ–āĻŦā§‡āĻ¨ āĻ¨āĻž...#cat >/root/btrfs-backup/btrfs-backup.sh << EOF
#!/bin/bash
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

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

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

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

function wait_lock()
{
flock 98
}

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

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

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

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

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

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

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

}

(
COMMAND="$1"
shift

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

EOF

āĻāĻŸāĻž āĻāĻŽāĻ¨āĻ•āĻŋ āĻ•āĻŋ āĻ•āĻ°ā§‡..?BTRFS āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŦāĻ‚ BTRFS āĻ¸ā§‡āĻ¨ā§āĻĄ/āĻ°āĻŋāĻ¸āĻŋāĻ­ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ…āĻ¨ā§āĻ¯ FS-āĻ āĻ•āĻĒāĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸ā§‡āĻŸ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻĒā§āĻ°āĻĨāĻŽ āĻ˛āĻžā§āĻš āĻ…āĻĒā§‡āĻ•ā§āĻˇāĻžāĻ•ā§ƒāĻ¤ āĻĻā§€āĻ°ā§āĻ˜ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ•āĻžāĻ°āĻŖ... āĻļā§āĻ°ā§āĻ¤ā§‡, āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻĄā§‡āĻŸāĻž āĻ•āĻĒāĻŋ āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ˛āĻžā§āĻšāĻ—ā§āĻ˛āĻŋ āĻ–ā§āĻŦ āĻĻā§āĻ°ā§āĻ¤ āĻšāĻŦā§‡, āĻ•āĻžāĻ°āĻŖ... āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻĒāĻŋ āĻ•āĻ°āĻž āĻšāĻŦā§‡.

āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ¯āĻž āĻ†āĻŽāĻ°āĻž āĻ•ā§āĻ°āĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦ:

āĻ†āĻ°āĻ“ āĻ•āĻŋāĻ›ā§ āĻŦā§āĻ¯āĻžāĻļ āĻ•ā§‹āĻĄ#cat >/root/btrfs-backup/cron-daily.sh << EOF
#!/bin/bash
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

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

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

āĻāĻŸāĻžāĻ° āĻ•āĻžāĻœ āĻ•āĻŋ..?āĻŦā§āĻ¯āĻžāĻ•āĻ†āĻĒ FS-āĻ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ­ā§āĻ•ā§āĻ¤ BTRFS āĻ­āĻ˛āĻŋāĻ‰āĻŽā§‡āĻ° āĻ•ā§āĻ°āĻŽāĻŦāĻ°ā§āĻ§āĻŽāĻžāĻ¨ āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸ āĻ¤ā§ˆāĻ°āĻŋ āĻāĻŦāĻ‚ āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœ āĻ•āĻ°ā§‡āĨ¤ āĻāĻ° āĻĒāĻ°ā§‡, āĻāĻŸāĻŋ 60 āĻĻāĻŋāĻ¨ āĻ†āĻ—ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ›āĻŦāĻŋ āĻŽā§āĻ›ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻ˛āĻžā§āĻšā§‡āĻ° āĻĒāĻ°ā§‡, āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ­ā§āĻ•ā§āĻ¤ āĻ­āĻ˛āĻŋāĻ‰āĻŽāĻ—ā§āĻ˛āĻŋāĻ° āĻ¤āĻžāĻ°āĻŋāĻ–ā§‡āĻ° āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸāĻ—ā§āĻ˛āĻŋ /backup/btrfs/back/remote/ āĻ¸āĻžāĻŦāĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ¤ā§‡ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻšāĻŦā§‡āĨ¤

āĻ•ā§‹āĻĄ āĻāĻ•ā§āĻ¸āĻŋāĻ•āĻŋāĻ‰āĻļāĻ¨ā§‡āĻ° āĻ…āĻ§āĻŋāĻ•āĻžāĻ° āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ•:

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

āĻ†āĻ¸ā§āĻ¨ āĻāĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ•ā§āĻ°āĻ¨ā§‡ āĻ°āĻžāĻ–āĻŋ:

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

LVM āĻĒāĻžāĻ¤āĻ˛āĻž āĻŦā§āĻ¯āĻžāĻ•āĻ†āĻĒ

āĻŦā§āĻ¯āĻžāĻ•āĻ†āĻĒ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒāĻžāĻ¤āĻ˛āĻž āĻĒā§āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•:

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

āĻšāĻ˛ā§āĻ¨ ddrescue āĻ‡āĻ¨ā§āĻ¸āĻŸāĻ˛ āĻ•āĻ°āĻŋ, āĻ•āĻžāĻ°āĻŖ... āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻāĻ‡ āĻŸā§āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦā§‡:

#apt-get install gddrescue

āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ¯āĻžāĻ•:

#mkdir /root/lvm-thin-backup

āĻ†āĻ¸ā§āĻ¨ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻ—ā§āĻ˛āĻŋ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ•āĻ°āĻŋ:

āĻ­āĻŋāĻ¤āĻ°ā§‡ āĻ…āĻ¨ā§‡āĻ• āĻāĻžāĻāĻ•ā§āĻ¨āĻŋ...#cat >/root/lvm-thin-backup/lvm-thin-backup.sh << EOF
#!/bin/bash
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

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

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

export LVM_SUPPRESS_FD_WARNINGS=1

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

function wait_lock()
{
flock 98
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

dmsetup message $DIFF_POOL_PATH_TPOOL 0 release_metadata_snap

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

}

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

activate_volume $SYNC_VG $SYNC_PEND

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

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

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

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

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

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

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

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

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

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

echo Syncronizing "$SOURCE_BASE_LV_PATH" to "$TARGET_BASE_LV_PATH"

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

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

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

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

}

(
COMMAND="$1"
shift

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

EOF

āĻāĻŸāĻžāĻ° āĻ•āĻžāĻœ āĻ•āĻŋ...?ddrescue āĻāĻŦāĻ‚ blkdiscard āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ…āĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻŦā§āĻ˛āĻ• āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡ thin_delta āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻĒāĻžāĻ¤āĻ˛āĻž āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸāĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻŽā§āĻ¯āĻžāĻ¨āĻŋāĻĒā§āĻ˛ā§‡āĻŸ āĻ•āĻ°āĻžāĻ° āĻāĻŦāĻ‚ āĻĻā§āĻŸāĻŋ āĻĒāĻžāĻ¤āĻ˛āĻž āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯ āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡āĻ° āĻāĻ•āĻŸāĻŋ āĻ¸ā§‡āĻŸ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ¯āĻž āĻ†āĻŽāĻ°āĻž āĻ•ā§āĻ°āĻ¨ā§‡ āĻ°āĻžāĻ–āĻŦ:

āĻāĻ•āĻŸā§ āĻŦā§‡āĻļāĻŋ āĻŦāĻžāĻļ#cat >/root/lvm-thin-backup/cron-daily.sh << EOF
#!/bin/bash
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

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

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

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

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

EOF

āĻāĻŸāĻžāĻ° āĻ•āĻžāĻœ āĻ•āĻŋ...?āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ­ā§āĻ•ā§āĻ¤ āĻĒāĻžāĻ¤āĻ˛āĻž āĻ­āĻ˛āĻŋāĻ‰āĻŽāĻ—ā§āĻ˛āĻŋāĻ° āĻŦā§āĻ¯āĻžāĻ•āĻ†āĻĒ āĻ¤ā§ˆāĻ°āĻŋ āĻāĻŦāĻ‚ āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœ āĻ•āĻ°āĻ¤ā§‡ āĻĒā§‚āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§€ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĨ¤ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻ­ā§āĻ•ā§āĻ¤ āĻ­āĻ˛āĻŋāĻ‰āĻŽāĻ—ā§āĻ˛āĻŋāĻ° āĻ¨āĻŋāĻˇā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ¸ā§āĻ¨ā§āĻ¯āĻžāĻĒāĻļāĻŸāĻ—ā§āĻ˛āĻŋ āĻ›ā§‡āĻĄāĻŧā§‡ āĻĻā§‡āĻŦā§‡, āĻ¯āĻž āĻļā§‡āĻˇ āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœā§‡āĻļāĻ¨ā§‡āĻ° āĻĒāĻ° āĻĨā§‡āĻ•ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻ—ā§āĻ˛āĻŋ āĻŸā§āĻ°ā§āĻ¯āĻžāĻ• āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§ˇ

āĻāĻ‡ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻŸāĻŋ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻ•āĻ°āĻž āĻ†āĻŦāĻļā§āĻ¯āĻ•, āĻĒāĻžāĻ¤āĻ˛āĻž āĻ­āĻ˛āĻŋāĻ‰āĻŽā§‡āĻ° āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ‰āĻ˛ā§āĻ˛ā§‡āĻ– āĻ•āĻ°ā§‡ āĻ¯āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŦā§āĻ¯āĻžāĻ•āĻ†āĻĒ āĻ•āĻĒāĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤āĨ¤ āĻĒā§āĻ°āĻĻāĻ¤ā§āĻ¤ āĻ¨āĻžāĻŽāĻ—ā§āĻ˛āĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻžāĻŽā§‚āĻ˛āĻ• āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻšāĻžāĻ¨, āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ¯āĻž āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ­āĻ˛āĻŋāĻ‰āĻŽ āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœ āĻ•āĻ°āĻŦā§‡āĨ¤

āĻ†āĻ¸ā§āĻ¨ āĻ…āĻ§āĻŋāĻ•āĻžāĻ° āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻ•:

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

āĻ†āĻ¸ā§āĻ¨ āĻāĻŸāĻŋ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ•ā§āĻ°āĻ¨ā§‡ āĻ°āĻžāĻ–āĻŋ:

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

āĻĒā§āĻ°āĻĨāĻŽ āĻ˛āĻžā§āĻšāĻŸāĻŋ āĻĻā§€āĻ°ā§āĻ˜ āĻšāĻŦā§‡, āĻ•āĻžāĻ°āĻŖ... āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻ¸ā§āĻĨāĻžāĻ¨ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ•āĻ°ā§‡ āĻĒāĻžāĻ¤āĻ˛āĻž āĻ­āĻ˛āĻŋāĻ‰āĻŽ āĻ¸āĻŽā§āĻĒā§‚āĻ°ā§āĻŖāĻ°ā§‚āĻĒā§‡ āĻ¸āĻŋāĻ™ā§āĻ•ā§āĻ°ā§‹āĻ¨āĻžāĻ‡āĻœ āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤ LVM āĻĒāĻžāĻ¤āĻ˛āĻž āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻ, āĻ†āĻŽāĻ°āĻž āĻœāĻžāĻ¨āĻŋ āĻ•ā§‹āĻ¨ āĻŦā§āĻ˛āĻ•āĻ—ā§āĻ˛āĻŋ āĻ†āĻ¸āĻ˛ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡, āĻ¤āĻžāĻ‡ āĻĒā§āĻ°āĻ•ā§ƒāĻ¤āĻĒāĻ•ā§āĻˇā§‡ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻĒāĻžāĻ¤āĻ˛āĻž āĻ­āĻ˛āĻŋāĻ‰āĻŽ āĻŦā§āĻ˛āĻ•āĻ—ā§āĻ˛āĻŋāĻ‡ āĻ•āĻĒāĻŋ āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤

āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻ°āĻžāĻ¨āĻ—ā§āĻ˛āĻŋ āĻ•ā§āĻ°āĻŽāĻŦāĻ°ā§āĻ§āĻŽāĻžāĻ¨āĻ­āĻžāĻŦā§‡ āĻĄā§‡āĻŸāĻž āĻ•āĻĒāĻŋ āĻ•āĻ°āĻŦā§‡ LVM āĻĒāĻžāĻ¤āĻ˛āĻž āĻŽā§‡āĻŸāĻžāĻĄā§‡āĻŸāĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻŸā§āĻ°ā§āĻ¯āĻžāĻ•āĻŋāĻ‚ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻāĨ¤

āĻšāĻ˛ā§āĻ¨ āĻĻā§‡āĻ–āĻž āĻ¯āĻžāĻ• āĻ•āĻŋ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡:

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

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

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

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

āĻŦāĻžāĻ¸āĻž āĻŦāĻžāĻāĻ§āĻžāĻ° āĻĒā§āĻ¤ā§āĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ° āĻ•āĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•?

āĻ¸āĻŽā§āĻ­āĻŦāĻ¤, LVM LV āĻ˛āĻœāĻŋāĻ•ā§āĻ¯āĻžāĻ˛ āĻ­āĻ˛āĻŋāĻ‰āĻŽ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ VG-āĻ° āĻœāĻ¨ā§āĻ¯ LVM PV āĻĢāĻŋāĻœāĻŋāĻ•ā§āĻ¯āĻžāĻ˛ āĻ­āĻ˛āĻŋāĻ‰āĻŽ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ LVM āĻĒā§āĻ¨āĻ°āĻžāĻŦā§ƒāĻ¤ā§āĻ¤ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¯ā§‡āĻŽāĻ¨ āĻ¨ā§‡āĻ¸ā§āĻŸāĻŋāĻ‚ āĻĒā§āĻ¤ā§āĻ˛āĨ¤ āĻāĻŸāĻŋ LVM āĻšāĻ°āĻŽ āĻ¨āĻŽāĻ¨ā§€āĻ¯āĻŧāĻ¤āĻž āĻĻā§‡āĻ¯āĻŧāĨ¤

āĻĻā§āĻ°āĻˇā§āĻŸāĻŦā§āĻ¯

āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ āĻĒā§āĻ°āĻŦāĻ¨ā§āĻ§ā§‡, āĻ†āĻŽāĻ°āĻž āĻšā§‹āĻŽ āĻĄā§‡āĻ¸ā§āĻ•āĻŸāĻĒ, āĻšā§‹āĻŽ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¨ā§‡āĻŸ āĻāĻŦāĻ‚ P2P āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ• āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻŽāĻšāĻžāĻĻā§‡āĻļā§‡ āĻ°āĻŋāĻĄāĻžāĻ¨āĻĄā§‡āĻ¨ā§āĻ¸āĻŋ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻœāĻŋāĻ“-āĻĄāĻŋāĻ¸ā§āĻŸā§āĻ°āĻŋāĻŦāĻŋāĻ‰āĻŸā§‡āĻĄ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ/āĻ­āĻŋāĻāĻŽ āĻ•ā§āĻ˛āĻžāĻ¸ā§āĻŸāĻžāĻ° āĻ¤ā§ˆāĻ°āĻŋāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ…āĻ¨ā§āĻ°ā§‚āĻĒ āĻŽā§‹āĻŦāĻžāĻ‡āĻ˛ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ/āĻ•ā§‡āĻ­āĻŋāĻāĻŽ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻŦāĨ¤

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨