Linux
  • << DEBIAN >>

  •   Сървър на отделни хостове
  •     DNS Сървър
  •     SQL Сървър
  •     WEB Сървър
  •     Пощенски Сървър
  •   PXE Server
  •   PXE UEFI Server - TFTP
  •   Debian 9
  •     Инсталиране на Debian 9
  •     Първоначални настройки (мрежа, VIM, Кирилизация)
  •     Инсталиране и настройка на SSH
  •     Инсталиране и настройка на DNS
  •     Инсталиране и настройка на NTP
  •     Инсталиране и настройка на Apache
  •     Инсталиране и настройка на MySQL (MariaDB)
  •     Инсталиране и настройка на PHPMyAdmin
  •     Инсталиране и настройка на собствен облак
  •     Инсталиране и настройка на SAMBA
  •     Инсталиране и настройка на FTP сървър
  •     Инсталиране и настройка на OSCAM
  •     Инсталиране и настройка на Mail server
  •       Първоначално конфигуриране на базата данни
  •       Инсталиране и конфигуриране на PostFix
  •       Инсталиране и конфигуриране на Dovecot
  •       PostFix дефинира Dovecot да удостоверява
  •       RoundCube
  •       Тестване доставката на поща
  •       Създаване на TLS криптиран ключ и сертификат
  •       WEB администриране
  •       Антиспам със SpamAssassin
  •       Антиспам с RSpmad
  •   Debian 11
  •     Как зарежда Linux
  •     Разпределение на диска при BIOS и UEFI
  •     Debian 11 на BIOS върху LVM и RAID
  •     Инсталиране на Debian 11 на BIOS и ZFS
  •     Инсталиране на Debian 11 на BIOS и ZFS-1
  •     Инсталиране на Debian 11 на UEFI и ZFS
  •     ZFS Замяна на развален огледален диск
  •     Ремонт на GRUB и INITRAMFS
  •   Debian 12
  •     Първоначални настройки
  •     DNS Сървър
  •     Добавяне на втори диск
  •     Файлов сървър + WEBMIN
  •     SAMBA
  •     Инсталиране и настройка на Apache
  •     Инсталиране и настройка на Nginx
  •     MySQL и PHPMyAdmin
  •     Елементарен MAIL сървър
  •       Подобрение SSL/TLS, Maildir, LMTP
  •       Подобрение ВИРТУАЛИЗАЦИЯ без MySQL
  •       Подобрение ВИРТУАЛИЗАЦИЯ и MySQL
  •       Подобрение Антиспам - SpamAssasin
  •       Подобрение Антиспам - RSpamd
  •       Защита - SPF, DKIM и DMARK
  •       Подобрение Антивирус
  •     Пълноценен MAIL сървър
  •     Пощенски сървър с iRedMail и PHPMyAdmin
  •       DKIM, SPF и DMARK
  •     MAIL сървър за вътрешна мрежа
  •     NextCloud
  •     Сървър за отдалечен достъп - RustDESK
  • << UBUNTU >>
  •   Ubuntu SERVER 22.04
  •     Инсталиране на Ubuntu 22.04 Server
  •     Първоначални настройки на Ubuntu 22.04 Server
  •     DNS в Ubuntu 22.04 Server
  •     MySQL Apache PHPMyAdmin
  •     Пощенски сървър
  •       Пощенски сървър в опростен вариант
  •       PostFix, Dovecot по-подробно
  •   Ubuntu mini
  • << RAID >>
  •     BIOS RAID1+MSDOS
  •     BIOS RAID1+MSDOS+LVM
  •     UEFI RAID1
  • << BTRFS >>
  •     BTRFS - създаване монтиране fstab размер
  •     BTRFS - RAID
  •     BTRFS - subvolume и snapshot
  • << КОНТЕЙНЕРИ >>
  •     Инсталиране на LXC/LXD
  •     Образи (image) в LXC/LXD
  •     Контейнери в LXC/LXD
  •     Команди в LXC/LXD
  • << ОТСТРАНЯВАНЕ НА ГРЕШКИ >>
  •     SWAP
  •     InitRAMFs
  • Управление на томове в BTRFS

    Команди които ще ползваме: ● mkfs.btrfs -m режим -d режим /dev/устройство1 .... - ● btrfs device scan - сканира цялата система за BTRFS ● btrfs device scan /dev/устройство - сканира определено устройство за наличие на BTRFS ● btrfs device add /dev/устройство2 /точка-на-монтиране - добавя устройство в BTRFS ● btrfs device delete /dev/устройство2 /точка-на-монтиране - премахва устройство от BTRFS ● btrfs filesystem balance /точка-на-монтиране - балансировка на файловата система, всички данни и метаданни ще се прочетат и презапишат ● btrfs fi balance /точка-на-монтиране - копие на горната команда ● btrfs balance start -dconvert=режим -mconvert=режим /точка-на-монтиране - конвертира режима на данни и метаданни във файловата система ● btrfs device delete /dev/устройство2 /точка-на-монтиране - заменяме устройство ако суперблока може да се прочете ● mount -o degraded /dev/устройство /точка-на-монтиране - ако суперблока не може да се прочете ● btrfs device delete missing /точка-на-монтиране - изтриване на развалено устройство

    Създаване на файлови системи (single/RAID)

    ● mkfs.btrfs -m режим -d режим /dev/устройство1 .... - създава BTRFS файлова система с определени параметри -m - определя режим за съхранение на метаданни -d - определя режим за съхранение на данни Режимите могат да бъдат: single dub RAID0 RAID1 RAID5 RAID6 RAID10

    Да проверим какво имаме:

    lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 11G 0 disk sdb 8:16 0 11G 0 disk sdc 8:32 0 11G 0 disk sdd 8:48 0 11G 0 disk sde 8:64 0 55G 0 disk ├─sde1 8:65 0 512M 0 part /boot/efi ├─sde2 8:66 0 53.5G 0 part / └─sde3 8:67 0 976M 0 part [SWAP] sr0 11:0 1 629M 0 rom

    4 празни диска и на последния инсталирана ОС.

    Single данни и метаданни

    mkfs.btrfs -m single -d single /dev/sda -f btrfs-progs v6.2 See http://btrfs.wiki.kernel.org for more information. NOTE: several default settings have changed in version 5.15, please make sure this does not affect your deployments: - DUP for metadata (-m dup) - enabled no-holes (-O no-holes) - enabled free-space-tree (-R free-space-tree) Label: (null) UUID: 52cc00cf-eb42-426a-b0bc-32be78ae8d5a Node size: 16384 Sector size: 4096 Filesystem size: 11.00GiB Block group profiles: Data: single 8.00MiB Metadata: single 8.00MiB System: single 4.00MiB SSD detected: no Zoned device: no Incompat features: extref, skinny-metadata, no-holes Runtime features: free-space-tree Checksum: crc32c Number of devices: 1 Devices: ID SIZE PATH 1 11.00GiB /dev/sda

    -f указва да се изпълни принудително командата (force),

    RAID1

    mkfs.btrfs -m raid1 -d raid1 /dev/sdb /dev/sdc -f btrfs-progs v6.2 See http://btrfs.wiki.kernel.org for more information. NOTE: several default settings have changed in version 5.15, please make sure this does not affect your deployments: - DUP for metadata (-m dup) - enabled no-holes (-O no-holes) - enabled free-space-tree (-R free-space-tree) Label: (null) UUID: 92b6dba4-b48a-4c8f-a116-7b5a8201b285 Node size: 16384 Sector size: 4096 Filesystem size: 22.00GiB Block group profiles: Data: RAID1 1.00GiB Metadata: RAID1 256.00MiB System: RAID1 8.00MiB SSD detected: no Zoned device: no Incompat features: extref, skinny-metadata, no-holes Runtime features: free-space-tree Checksum: crc32c Number of devices: 2 Devices: ID SIZE PATH 1 11.00GiB /dev/sdb 2 11.00GiB /dev/sdc

    По същата логика може да се изгради RAID0, RAID5, RAID6 и RAID10.

    Сканиране на BTRFS

    Понякога може да не видите някой BTRFS. То тогава трябва да сканирате или устройството или цялата система. Командите са: ● btrfs device scan - сканира цялата система за BTRFS ● btrfs device scan /dev/устройство - сканира определено устройство за наличие на BTRFS

    Добавяне/премахване на устройства

    Командите са: ● btrfs device add /dev/устройство2 /точка-на-монтиране - добавя устройство в BTRFS ● btrfs device delete /dev/устройство2 /точка-на-монтиране - премахва устройство от BTRFS ● btrfs filesystem balance /точка-на-монтиране - балансировка на файловата система, всички данни и метаданни ще се прочетат и презапишат (става много бавно, внимавайте кога пускате операцията по време на работа) ● btrfs fi balance /точка-на-монтиране - копие на горната команда След като добавите/изтриете устройството то няма да се използва докато не балансирате системата.

    Добавяне на BTRFS

    Нека RAID1 който създадохме да монтираме.

    mount /dev/sdc /mnt

    И да добавим BTRFS-a към монтирана точка.

    btrfs device add /dev/sdd /mnt/

    Да проверим:

    btrfs fi df /mnt Data, RAID1: total=1.00GiB, used=0.00B System, RAID1: total=8.00MiB, used=16.00KiB Metadata, RAID1: total=256.00MiB, used=128.00KiB GlobalReserve, single: total=3.50MiB, used=0.00B btrfs fi show /mnt Label: none uuid: 92b6dba4-b48a-4c8f-a116-7b5a8201b285 Total devices 3 FS bytes used 144.00KiB devid 1 size 11.00GiB used 1.26GiB path /dev/sdb devid 2 size 11.00GiB used 1.26GiB path /dev/sdc devid 3 size 11.00GiB used 0.00B path /dev/sdd

    Вижда се, че третия диск е наличен в RAID1 но не е балансиран.

    Балансиране на BTRFS

    btrfs fi balance /mnt/ Done, had to relocate 3 out of 3 chunks btrfs fi show /mnt Label: none uuid: 92b6dba4-b48a-4c8f-a116-7b5a8201b285 Total devices 3 FS bytes used 144.00KiB devid 1 size 11.00GiB used 288.00MiB path /dev/sdb devid 2 size 11.00GiB used 1.03GiB path /dev/sdc devid 3 size 11.00GiB used 1.25GiB path /dev/sdd

    Всичко е точно.

    Конвертиране на файловата система

    Командите са: ● btrfs balance start -dconvert=режим -mconvert=режим /точка-на-монтиране - конвертира режима на данни и метаданни във файловата система -mconvert - определя режима на съхранение на метаданните -dconvert - определя режима на съхранение на данните Режимите могат да бъдат: single dub RAID0 RAID1 RAID5 RAID6 RAID10 За задачата ще ползваме 4 диска. Ще имитираме данните да са в RAID10, а метаданните в RAID1. За целта трием всичките BTRFS-и. След това изграждаме RAID1 от 3 диска както правихме до сега. След това вкарваме 4 диск с условие за RAID10 и RAID1.

    ### Демонтираме /mnt umount /mnt ### Трием всички BTRFS от /dev/sd* wipefs --all -t btrfs /dev/sd* ### Проверяваме BTRFS. Не трябва да има. btrfs fi show ###Изграждаме RAID1 от три диска. mkfs.btrfs -m raid1 -d raid1 /dev/sda /dev/sdb /dev/sdc -f btrfs-progs v6.2 See http://btrfs.wiki.kernel.org for more information. NOTE: several default settings have changed in version 5.15, please make sure this does not affect your deployments: - DUP for metadata (-m dup) - enabled no-holes (-O no-holes) - enabled free-space-tree (-R free-space-tree) Label: (null) UUID: f4a712a0-e6ba-460f-bdc6-1e542e7b6d51 Node size: 16384 Sector size: 4096 Filesystem size: 33.00GiB Block group profiles: Data: RAID1 1.00GiB Metadata: RAID1 256.00MiB System: RAID1 8.00MiB SSD detected: no Zoned device: no Incompat features: extref, skinny-metadata, no-holes Runtime features: free-space-tree Checksum: crc32c Number of devices: 3 Devices: ID SIZE PATH 1 11.00GiB /dev/sda 2 11.00GiB /dev/sdb 3 11.00GiB /dev/sdc ### Монтираме RAID1 mount /dev/sda /mnt ### Проверяваме df -h Filesystem Size Used Avail Use% Mounted on udev 3.9G 0 3.9G 0% /dev tmpfs 795M 684K 794M 1% /run /dev/sde2 53G 1.7G 49G 4% / tmpfs 3.9G 0 3.9G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock /dev/sde1 511M 5.9M 506M 2% /boot/efi tmpfs 795M 0 795M 0% /run/user/0 tmpfs 795M 0 795M 0% /run/user/1000 /dev/sda 17G 3.7M 11G 1% /mnt

    И сега добавяме 4 диск. Условието е данните да се записват в RAID10, а метаданните в RAID1.

    ### Добавяме 4-ти диск btrfs device add /dev/sdd /mnt/ ### Проверяваме BTRFS btrfs fi show Label: none uuid: f4a712a0-e6ba-460f-bdc6-1e542e7b6d51 Total devices 4 FS bytes used 144.00KiB devid 1 size 11.00GiB used 0.00B path /dev/sda devid 2 size 11.00GiB used 1.26GiB path /dev/sdb devid 3 size 11.00GiB used 1.26GiB path /dev/sdc devid 4 size 11.00GiB used 0.00B path /dev/sdd ### Конвертираме режима на данни и метаданни btrfs balance start -dconvert=raid10 -mconvert=raid1 /mnt/ Done, had to relocate 3 out of 3 chunks ### Проверяваме btrfs fi show /mnt Label: none uuid: f4a712a0-e6ba-460f-bdc6-1e542e7b6d51 Total devices 4 FS bytes used 144.00KiB devid 1 size 11.00GiB used 2.25GiB path /dev/sda devid 2 size 11.00GiB used 2.03GiB path /dev/sdb devid 3 size 11.00GiB used 2.03GiB path /dev/sdc devid 4 size 11.00GiB used 2.25GiB path /dev/sdd btrfs fi df /mnt/ Data, RAID10: total=4.00GiB, used=0.00B System, RAID1: total=32.00MiB, used=16.00KiB Metadata, RAID1: total=256.00MiB, used=128.00KiB GlobalReserve, single: total=3.50MiB, used=0.00B df -h Filesystem Size Used Avail Use% Mounted on udev 3.9G 0 3.9G 0% /dev tmpfs 795M 684K 794M 1% /run /dev/sde2 53G 1.7G 49G 4% / tmpfs 3.9G 0 3.9G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock /dev/sde1 511M 5.9M 506M 2% /boot/efi tmpfs 795M 0 795M 0% /run/user/0 tmpfs 795M 0 795M 0% /run/user/1000 /dev/sda 22G 3.7M 22G 1% /mnt

    Замяна на устройства

    Два варианта на замяна на устройство: АКО СУПЕРБЛОКА МОЖЕ ДА СЕ ПРОЧЕТЕ ● btrfs device delete /dev/устройство2 /точка-на-монтиране - заменяме устройство ако суперблока може да се прочете АКО СУПЕРБЛОКА НЕ МОЖЕ ДА СЕ ПРОЧЕТЕ ● mount -o degraded /dev/устройство /точка-на-монтиране - монтираме устройството в лош режим ● Добавяме ново устройство (по избор) ● btrfs device delete missing /точка-на-монтиране - изтриване на развалено устройство За демонстрацията ще развалим един диск. Примерно ще премахнем диск /dev/sdc. Спираме машината и махаме един диск.

    poweroff

    След рестарта и премахван на диска проверяваме състоянието на системата.

    lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 11G 0 disk sdb 8:16 0 11G 0 disk sdc 8:32 0 55G 0 disk ├─sdc1 8:33 0 512M 0 part /boot/efi ├─sdc2 8:34 0 53.5G 0 part / └─sdc3 8:35 0 976M 0 part [SWAP] sdd 8:48 0 11G 0 disk sr0 11:0 1 629M 0 rom

    Даже подредбата на дисковете се промени. Да проверим и BTRFS-a

    btrfs fi show Label: none uuid: f4a712a0-e6ba-460f-bdc6-1e542e7b6d51 Total devices 4 FS bytes used 144.00KiB devid 2 size 11.00GiB used 2.04GiB path /dev/sda devid 3 size 11.00GiB used 2.04GiB path /dev/sdb devid 4 size 11.00GiB used 2.25GiB path /dev/sdd *** Some devices missing

    Имаме счупен RAID. Да проверим и монтирането на BTRFS.

    df -h Filesystem Size Used Avail Use% Mounted on udev 3.9G 0 3.9G 0% /dev tmpfs 795M 656K 794M 1% /run /dev/sdc2 53G 1.7G 49G 4% / tmpfs 3.9G 0 3.9G 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock /dev/sdc1 511M 5.9M 506M 2% /boot/efi tmpfs 795M 0 795M 0% /run/user/1000

    Нямаме монтиран BTRFS. Да се пробваме да монтираме.

    mount /dev/sda /mnt mount: /mnt: wrong fs type, bad option, bad superblock on /dev/sda, missing codepage or helper program, or other error. dmesg(1) may have more information after failed mount system call.

    Не може защото имаме лош супер блок, липсва кодирана страница или нещо друго... Да поправим проблема. Първо монтираме с опция degraded

    mount -o degraded /dev/sda /mnt/

    Да проверим BTRFS.

    btrfs fi show /mnt/ Label: none uuid: f4a712a0-e6ba-460f-bdc6-1e542e7b6d51 Total devices 4 FS bytes used 144.00KiB devid 1 size 0 used 0 path MISSING devid 2 size 11.00GiB used 1.03GiB path /dev/sda devid 3 size 11.00GiB used 1.03GiB path /dev/sdb devid 4 size 11.00GiB used 1.25GiB path /dev/sdd

    За да се избавим от липсващото устройство:

    btrfs device delete missing /mnt btrfs fi show /mnt/ Label: none uuid: f4a712a0-e6ba-460f-bdc6-1e542e7b6d51 Total devices 3 FS bytes used 144.00KiB devid 2 size 11.00GiB used 288.00MiB path /dev/sda devid 3 size 11.00GiB used 1.28GiB path /dev/sdb devid 4 size 11.00GiB used 1.00GiB path /dev/sdd

    Всичко работи правилно. В BTRFS-a имаме 3 устройства, работещи. Ако пък бяхте заменили разваления диск със здрав. То първо трябваше да добавите новия диск с btrfs device add /dev/sde /mnt и след това да се използва btrfs device delete missing /mnt

    Оптимизация за SSD дискове

    Няколко препоръки: ● Премахнете дублирането на метаданните ● Когато монтирате ползвайте ssd, nossd и ssd_spread Опцията ssd прави следното: - отделя клъстера за метаданни на голям размер - отделя данните последователно там където е възможно - отключва презаписването на дървото в съответствие последователността на ключа и блока - завършва фрагментацията на журнала без групировка на няколко процеса Опцията nossd - изключва опцията ssd диска да се монтира като такъв, просто ще се монтира като обикновен диск Опцията ssd_spread - отделя блокове без да се смесват