• Добавление RAID к существующему LVM

    root@dot:/home/kkursor# lvconvert —type raid1 -y -m 1 /dev/mapper/dot—vg-home

    Insufficient free space: 1 extents needed, but only 0 available

    -m1 — это число копий (то есть если 1 — то 2 копии, то есть зеркало)

    Для RAID нужен свободный последний блок. Чтобы его получить, надо:
    — отмонтировать раздел
    — fsck -f /dev/mapper/dot—vg-home
    — resize2fs /dev/mapper/dot—vg-home 1600G (размер заведомо больше, чем размер занятого места, но меньше, чем текущий)
    — lvreduce -l -1 (минус один — отрезать один блок с конца)

    root@dot:/# lvreduce -l -1 /dev/dot-vg/home
    WARNING: Reducing active logical volume to 1,79 TiB.
    THIS MAY DESTROY YOUR DATA (filesystem etc.)
    Do you really want to reduce dot-vg/home? [y/n]: y
    Size of logical volume dot-vg/home changed from 1,79 TiB (469413 extents) to 1,79 TiB (469412 extents).
    Logical volume dot-vg/home successfully resized.
    root@dot:/# lvconvert --type raid1 -m 1 /dev/mapper/dot--vg-home
    Are you sure you want to convert linear LV dot-vg/home to raid1 with 2 images enhancing resilience? [y/n]: y
    Logical volume dot-vg/home successfully converted.
    root@dot:/# lvs
    LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
    home dot-vg rwi-aor--- 1,79t 0,07
    root dot-vg -wi-ao---- <27,94g
    swap_1 dot-vg -wi-a----- 976,00m

  • Присвоить названия нескольким ОС AstraLinux на одном компьютере

    На компьютере установлено несколько систем AstraLinux. Нужно как-то различать их в меню grub, чтобы грузить нужную. При этом крайне желательно обойтись без ручного редактирования файла /boot/grub/grub.cfg, который будет перезаписан после установки новой системы, например.

    Делаем следующее:

    1. Присваиваем всем файловым системам метку:
    # e2label /dev/sda1 ASTRA1
    # e2label /dev/sda2 ASTRA2

    2. Правим два файла. Первый /etc/grub.d/10_linux, строка 136. Меняем

      echo "menuentry '$(echo "$title" | grub_quote)' ${CLASS} \$menuentry_id_option 'gnulinux-$version-$type-$boot_device_id' {" | sed "s/^/$submenu_indentation/"

    на

      echo "menuentry '$(echo "$title ($(e2label `blkid -U $boot_device_id`))" | grub_quote)' ${CLASS} \$menuentry_id_option 'gnulinux-$version-$type-$boot_device_id' {" | sed "s/^/$submenu_indentation/"

    Второй — /etc/grub.d/30_os-prober, строка 297. Меняем

    menuentry '$(echo "$title" | grub_quote)' --class gnu-linux --class gnu --class os \$menuentry_id_option 'osprober-gnulinux-$LKERNEL-${recovery_params}-$boot_device_id' {

    на

    menuentry '$(echo "$title ($(e2label $DEVICE))" | grub_quote)' --class gnu-linux --class gnu --class os \$menuentry_id_option 'osprober-gnulinux-$LKERNEL-${recovery_params}-$boot_device_id' {

    3. Вызываем update-grub.

    На выходе имеем в grub.cfg что-то такое:

    menuentry 'AstraLinuxCE GNU/Linux, with Linux 4.15.3-1-generic (на /dev/nvme0n1p6) (ASTRA1)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-4.15.3-1-generic--a009ed5b-4c18-4235-9baa-a711f5443472' {

    Единственный нюанс — нужно это делать либо в каждой Астре, либо обновлять Grub только из одной.

  • Proxmox: импорт ВМ из VirtualBox

    В Proxmox можно импортировать виртуалки из Виртуалбокса.

    1. Копируем на сервер vdi
    2. Импортируем его командой
      qm importdisk 100 Astra.vdi bigdata
      где 100 — ID виртуалки, VDI — понятно, bigdata — идентификатор lvm-хранилища.
    3. ???
    4. PROFIT

    Подглядел тут: https://www.caretech.io/2017/10/17/migrating-virtualbox-vdi-to-proxmox-ve-5/

  • Удаление каталога .git из дерева проекта

    find . -name .git -exec rm -rvf {} +

  • Копирование файловой системы ext4 с диска на диск.

    Сдох на рабочем компе хард размером 2 ТБ. Купили новый SSD на 250 Гб. CloneZilla отказывается копировать диск. Нашёл шикарное решение.

    # fsarchiver -v savefs /media/folder-bkp/disco-source.fsa /dev/sda1

  • Быстрое вычисление MD5SUM для каталога.

    find -type f \( -not -name "md5sum.txt" \) -exec md5sum '{}' \; > md5sum.txt

  • Astra Linux SE 1.6 — пользователю не удаётся создать и редактировать файлы и каталоги

    Даже в домашнем каталоге. Даже через sudo.

    Решение:
    $ sudo pdpl-user -i 63 username

    И перелогиниться.

  • VBoxHeadless + VNC слушает только localhost.

    Играюсь тут с запуском виртуальных машин на сервере без GUI.

    Вроде всё супер, но установить из phpVirtualBox систему не получилось — VNC упорно не хотел пускать.

    Фаервол не мешает.

    Выяснил путём вызова sudo netstat -nap | grep 5900 (где 5900 — назначенный виртуалке порт), что VBoxHeadless слушает только localhost.

    Изменить это поведение можно командой sudo VBoxManage modifyvm «virtual machine name» —vrde on —vrdeaddress 0.0.0.0