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
  • UEFI - RAID 1 (GPT формат на дисковете)

    Имаме хардуер с UEFI. Твърдите дискове в машината са под 2ТВ но трябва да са във формат GPT заради UEFI. Ще изградим софтуерен RAID 1 масив, като системата ще може да се зарежда от двата диска. Предимства: ● за по-нови системи е добър избор ● добра бързина ● слабо натоварва системата Недостатък: ● отново твърдо зададени раздели на томове

    01
    02

    Имаме 2 диска по 33GB и UEFI. Малко теория за да разберете какво трябва да се направи.

    img01

    BIOS - GRUB зарежда от MBR (първите 512 байта на диска) UEFI - зарежда от EFI Boot Loader (папка в /boot) Всичко това ни кара по някакъв начин да управляваме папката /boot/etc. Решението не е много просто: ● отделяме папка EFI в отделен дял ● двата дяла EFI на двата диска ги правим напълно еднакви чрез командата dd ● обновяваме BOOT менажера (efibootmgr ) за двата дяла ● двата дяла ги обединяваме в RAID1 масив ● RAID1 масива се описва в /etc/fstab ● обновяваме INITRAMFS Продължаваме с инсталацията. Цялата няма да я показвам, само ще уточня начина на разделяне на дисковете и RAID масива. Разпределението на дисковете трябва да изглежда по следния начин:

    uefi1

    Да започваме.

    1
    2
    3
    4
    5
    6
    7
    8

    Забележете, пърия дял е само 512МВ. На практика стига и 128МВ, но тук леко се поувлякох. Този дял ще е за EFI.

    9
    10
    11
    12
    13
    14

    Този дял задължително трябва да е BOOTABLE.

    15
    16

    Останалото свободно място ще е за RAID масив.

    17
    18
    19
    20
    21
    22
    23

    Аналогично на sda разделяме и втория диск sdb. Няма да го показвам просто погледнете предните картинки.

    24

    Двата диска sda и sdb са напълно огледално разделени. Ще създадем RAID масив от двата диска от вторите им дялове.

    25
    26
    27
    28
    29
    30
    31
    32

    RAID масива е създаден. Да определим как ще се инсталира операционната система върху него.

    33
    34
    35
    36
    37

    Всичко ще е на един дял.

    38
    39

    Предупреждава, че няма SWAP област. Ще я създадем във вид на файл, затова се отказваме да се върнем за поправка.

    40

    Завършихме с инсталацията. Забележете, за разлика от BIOS тук не ни предложи да инсталираме GRUB в някой от дисковете. На по-късен етап ще разберете защо, засега само обърнете внимание. Получихме следното разпределение:

    uefi11

    Обърнете внимание! Имаме RAID1 масив само на вторите дялове където е инсталирана системата. Първите дялове не са обединени. Там се намира EFI.

    Зареждане от двата диска

    Инсталацията премина успешно. Да проверим какво имаме:

    lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 33G 0 disk ├─sda1 8:1 0 487M 0 part /boot/efi └─sda2 8:2 0 32.5G 0 part └─md0 9:0 0 32.5G 0 raid1 / sdb 8:16 0 33G 0 disk ├─sdb1 8:17 0 487M 0 part └─sdb2 8:18 0 32.5G 0 part └─md0 9:0 0 32.5G 0 raid1 / sr0 11:0 1 1024M 0 rom

    Забележете, че /boot/efi имаме само на sda1. Това означава, че системата може да зарежда само от първия диск. Да проверим как е монтиран EFI

    mount | grep '/boot/efi' /dev/sda1 on /boot/efi type vfat (rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro)

    Ако си направите труда да монтирате sdb1 и да проверите съдържанието му, ще се убедите, че там няма нищо.

    mount /dev/sdb1 /mnt/ ls -la /mnt/ total 8 drwxr-xr-x 2 root root 4096 Dec 31 1969 . drwxr-xr-x 18 root root 4096 Jun 16 05:23 ..

    Значи трябва да клонираме sda1 на sdb1.

    dd if=/dev/sda1 of=/dev/sdb1 997376+0 records in 997376+0 records out 510656512 bytes (511 MB, 487 MiB) copied, 10.8781 s, 46.9 MB/s

    Клонирахме sda1 на sdb1. Да проверим:

    ls -la /mnt/ total 12 drwxr-xr-x 2 root root 4096 Dec 31 1969 . drwxr-xr-x 18 root root 4096 Jun 16 05:23 .. drwxr-xr-x 3 root root 4096 Jun 16 05:24 EFI

    Имаме същата папка както на sda1. Да проверим как е монтирана.

    lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 33G 0 disk ├─sda1 8:1 0 487M 0 part /boot/efi └─sda2 8:2 0 32.5G 0 part └─md0 9:0 0 32.5G 0 raid1 / sdb 8:16 0 33G 0 disk ├─sdb1 8:17 0 487M 0 part /mnt └─sdb2 8:18 0 32.5G 0 part └─md0 9:0 0 32.5G 0 raid1 / sr0 11:0 1 382M 0 rom

    Това е така, защото ръчно я монтирахме там. А сега да видим как зарежда системата (EFI). За целта ползваме efibootmgr

    efibootmgr -v | grep -i debian Boot0005* debian HD(1,GPT,a4382224-e214-4746-b4b5-9d782cadc52a,0x800,0xf3800)/File(\EFI\debian\shimx64.efi)

    Имаме само един запис. Да проверим къде сочи:

    ls -l /dev/disk/by-partuuid/ total 0 lrwxrwxrwx 1 root root 10 Jun 16 09:46 5541dfa1-72d4-4cdb-b9ef-f869957efc6c -> ../../sdb2 lrwxrwxrwx 1 root root 10 Jun 16 09:46 7af5f2d1-233d-45c2-90ea-3875ef1551e5 -> ../../sda2 lrwxrwxrwx 1 root root 10 Jun 16 09:46 7bab4780-36d4-421f-87c7-2076094bc06e -> ../../sdb1 lrwxrwxrwx 1 root root 10 Jun 16 09:46 a4382224-e214-4746-b4b5-9d782cadc52a -> ../../sda1

    Да добавим втори запис за sdb

    efibootmgr --create --disk /dev/sdb --part 1 --label "debian2" --loader "\EFI\debian\shimx64.efi" BootCurrent: 0005 BootOrder: 0006,0005,0000,0001,0002,0003,0004 Boot0000* EFI VMware Virtual SATA Hard Drive (0.0) Boot0001* EFI VMware Virtual SATA Hard Drive (1.0) Boot0002* EFI VMware Virtual IDE CDROM Drive (IDE 1:0) Boot0003* EFI Network Boot0004* EFI Internal Shell (Unsupported option) Boot0005* debian Boot0006* debian2

    Да проверим дали съвпадат идентификаторите на дяловете с идентификаторите на зареждане.

    ls -l /dev/disk/by-partuuid/ total 0 lrwxrwxrwx 1 root root 10 Jun 16 09:46 5541dfa1-72d4-4cdb-b9ef-f869957efc6c -> ../../sdb2 lrwxrwxrwx 1 root root 10 Jun 16 09:46 7af5f2d1-233d-45c2-90ea-3875ef1551e5 -> ../../sda2 lrwxrwxrwx 1 root root 10 Jun 16 09:46 7bab4780-36d4-421f-87c7-2076094bc06e -> ../../sdb1 lrwxrwxrwx 1 root root 10 Jun 16 09:46 a4382224-e214-4746-b4b5-9d782cadc52a -> ../../sda1

    Това са идентификаторите за двата дяла. Да ги сравним с идентификаторите на зареждане.

    efibootmgr -v BootCurrent: 0005 BootOrder: 0006,0005,0000,0001,0002,0003,0004 Boot0000* EFI VMware Virtual SATA Hard Drive (0.0) PciRoot(0x0)/Pci(0x11,0x0)/Pci(0x2,0x0)/Sata(0,0,0) Boot0001* EFI VMware Virtual SATA Hard Drive (1.0) PciRoot(0x0)/Pci(0x11,0x0)/Pci(0x2,0x0)/Sata(1,0,0) Boot0002* EFI VMware Virtual IDE CDROM Drive (IDE 1:0) PciRoot(0x0)/Pci(0x7,0x1)/Ata(1,0,0) Boot0003* EFI Network PciRoot(0x0)/Pci(0x11,0x0)/Pci(0x0,0x0)/MAC(000c29a7c288,0) Boot0004* EFI Internal Shell (Unsupported option) MemoryMapped(11,0xef68018,0xf3f6017)/FvFile(c57ad6b7-0515-40a8-9d21-551652854e37) Boot0005* debian HD(1,GPT,a4382224-e214-4746-b4b5-9d782cadc52a,0x800,0xf3800)/File(\EFI\debian\shimx64.efi) Boot0006* debian2 HD(1,GPT,7bab4780-36d4-421f-87c7-2076094bc06e,0x800,0xf3800)/File(\EFI\debian\shimx64.efi)

    Всичко е правилно. Ако искате да премахнете някой запис. Поглеждате Boot0006 примерно. Командата е:

    efibootmgr -B -b 0006

    Ако искате пък да добавите, то командата е:

    efibootmgr --create --disk /dev/sdb --part 1 --label "debian2" --loader "\EFI\debian\shimx64.efi"

    Горните две команди се използват ако идентификаторите не съвпадат и искате да ги поправите.

    Активиране на RAID за EFI дялове

    Ще създадем RAID1 за /boot/efi. Тук има една тънкост. sda1 за сега не трябва да е в RAID1 масива (все пак ще съхраняваме данни вътре все още), защото са необходими метаданни 1.0 за да се стартира EFI.

    mdadm --create /dev/md100 --level 1 --raid-disks 2 --metadata 1.0 /dev/sdb1 missing mdadm: partition table exists on /dev/sdb1 Continue creating array? yes mdadm: array /dev/md100 started.

    Копираме съдържанието на /dev/sda1 в RAID1 масива.

    mkdir /tmp/RAID mount /dev/md100 /tmp/RAID apt update -y apt install rsync -y rsync -av --progress /boot/efi/ /tmp/RAID/ sending incremental file list ./ EFI/ EFI/debian/ sent 223 bytes received 45 bytes 536.00 bytes/sec total size is 6,043,697 speedup is 22,551.11

    Добавяме /dev/sda1 в RAID1 масива.

    umount /dev/sda1 mdadm --manage /dev/md100 --add /dev/sda1 mdadm: added /dev/sda1

    Да ремонтираме /etc/fstab

    nano /etc/fstab # / was on /dev/md0 during installation UUID=d12d0441-51a7-4d41-9bec-95c29540558e / ext4 errors=remount-ro 0 1 # /boot/efi was on /dev/sda1 during installation # UUID=E0A4-DD72 /boot/efi vfat umask=0077 0 1 /dev/md100 /boot/efi vfat umask=0077 0 1 # /dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0 #UUID="E0A4-DD72" #UUID=E0A4-DD72 /boot/efi vfat umask=0077 0 1

    Да добавим конфигурацията /dev/md100 към файла mdadm.conf

    mdadm --detail --scan | grep 100 >> /etc/mdadm/mdadm.conf

    Обновяваме INITRAMFS

    update-initramfs -u update-initramfs: Generating /boot/initrd.img-5.10.0-30-amd64

    Проверяваме състоянието на mdadm.

    cat /proc/mdstat update-initramfs: Generating /boot/initrd.img-5.10.0-30-amd64 root@debian:/home/cccp# cat /proc/mdstat Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10] md100 : active raid1 sda1[2] sdb1[0] 498624 blocks super 1.0 [2/2] [UU] md0 : active raid1 sdb2[1] sda2[0] 34068480 blocks super 1.2 [2/2] [UU]

    2 от 2 диска в RAID-a В крайна сметка получихме следния резултат:

    uefi111

    Два RAID1 масива. Да се рестартираме и проверим какво имаме. След рестарта системата се зареди успешно.

    lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 33G 0 disk ├─sda1 8:1 0 487M 0 part │ └─md100 9:100 0 486.9M 0 raid1 /boot/efi └─sda2 8:2 0 32.5G 0 part └─md0 9:0 0 32.5G 0 raid1 / sdb 8:16 0 33G 0 disk ├─sdb1 8:17 0 487M 0 part │ └─md100 9:100 0 486.9M 0 raid1 /boot/efi └─sdb2 8:18 0 32.5G 0 part └─md0 9:0 0 32.5G 0 raid1 / sr0 11:0 1 382M 0 rom

    Наличие на два RAID масива (md0 и md100). Ако пък искате да видите дисковете по UUID то:

    lsblk -f nvme0n1 ├─nvme0n1p1 linux_raid 1.0 debian:100 de1927ae-8bd6-7c77-5845-65a3e8f61e6c │ └─md100 vfat FAT32 A575-7DA0 480.2M 1% /boot/efi ├─nvme0n1p2 linux_raid 1.2 debian:1 2f7390f6-e7a1-ea3b-add8-ca0e396e6302 │ └─md1 swap 1 47c62231-8cee-41ca-832c-5a220822d199 [SWAP] └─nvme0n1p3 linux_raid 1.2 debian:0 9614be28-14fa-68fb-de5c-ae6de833a29d └─md0 ext4 1.0 285c5bbe-5883-425c-ad3d-08143c6a8c62 42.7G 9% / nvme0n2 ├─nvme0n2p1 linux_raid 1.0 debian:100 de1927ae-8bd6-7c77-5845-65a3e8f61e6c │ └─md100 vfat FAT32 A575-7DA0 480.2M 1% /boot/efi ├─nvme0n2p2 linux_raid 1.2 debian:1 2f7390f6-e7a1-ea3b-add8-ca0e396e6302 │ └─md1 swap 1 47c62231-8cee-41ca-832c-5a220822d199 [SWAP] └─nvme0n2p3 linux_raid 1.2 debian:0 9614be28-14fa-68fb-de5c-ae6de833a29d └─md0 ext4 1.0 285c5bbe-5883-425c-ad3d-08143c6a8c62 42.7G 9% /

    Да проверим как зарежда системата.

    efibootmgr -v | grep -i debian Boot0005* debian HD(1,GPT,a4382224-e214-4746-b4b5-9d782cadc52a,0x800,0xf3800)/File(\EFI\debian\shimx64.efi) Boot0006* debian2 HD(1,GPT,7bab4780-36d4-421f-87c7-2076094bc06e,0x800,0xf3800)/File(\EFI\debian\shimx64.efi)

    Зареждаме от двата диска. Сега може да имитираме повреда на първия диск. Премахваме го от системата и да видим дали ще се зареди наново? Системата сигнализира за развален RAID масив но зареди успешно. Това не е пълна инсталация. Не забравяйте SWAP дяла да се дефинира във вид на файл. За справка може да погледнете на BIOS RAID1+MSDOS С това приключваме.

    Ползвани материали: How to set up a RAID1 on a UEFI boot with mdadm