воскресенье, 16 августа 2015 г.

Btrfs instead LVM

Після ганебного ступору відносно btrfs під час установки Arch Linux стало цікаво - чи може btrfs гідно замінити LVM?..
До цього я вивчав btrfs на домашньому нетбуці, але справа не дійшла далі об"єднання розділів у рейд.
У цейтноті з наскоку інтуїтивно вирішити LVM-мовські задачі, використовуючи лише btrfs, не вдалося.
Заздалегідь я вирішив не використовувати btrfs в LV, бо окрім того, що це зручно, інших плюсів не має: буде трохи повільніше працювати, LVM snapshots недосконалі тощо.

Порівняння потрібних мені можливостей LVM та btrfs:
1) LVM дозволяє створювати VGs, які можна збільшувати і збільшувати додаванням нових і нових фізичних розділів. Btrfs створює ФС в яку теж можна додавати нові фізичні розділи. Залишилося незрозумілим одне: можна створити ФС менше ніж фізичний розділ (mkfs.btrfs -b50G /dev/sdaX), або зменшити потім (btrfs fi re -10G /), але навіщо це робити і як можна використовувати залишений простір - не ясно.
2) З VG можна нарізати LVs. В btrfs можна створювати subvolumes.
3) На LV можна створити "любу" ФС і в підсумку отримати букет з різних ФС. Btrfs - це лише ФС btrfs.
4) З LV можна створювати snapshots. Btrfs справляється с цим завданням ще краще.
5) Можна задати розмір LV. А от btrfs типово цього не робить, тобто якийсь юзер може заповнити усю ФС із subvolume home. Пишуть, що є вихід - це квоти.
6) Питання з btrfs FAQ.
7) How big my stanpshots?
du only tells you how big the entire snapshot is and not how much of the snapshot is exclusive to this snapshot only.
With quota and qgroups we can see that.

Далі тренування на нетбуці.

суббота, 8 августа 2015 г.

Arch Linux on IBM System x35550 M4

1) Следую записи своего блога Arch Linux on HP Mini 110, part 2.

Пишу образ от 01-08-2015, используя USBWriter, на флешку и загружаюсь с неё в консоль.

Создаю в fdisk btrfs-разделы swap (sda1) и sda2.
Создаю subvol root, следуя записи своего блога The btrfs filesystem backup for roll back.
Выделяю для него 50 ГБ.
# mkfs.btrfs -b50G /dev/sda2 (возможно, здесь нужно было делать по-другому)

Сеть работает, локальный ip получен (см. ifconfig).

Запускаю sshd, задаю пароль для root, запускаю ftpd и ухожу на своё рабочее место - установку можно делать удаленно по ssh!
# systemctl start sshd.service
# passwd
# systemctl start ftpd.service (ftp пускает под root'ом).

Нужен доступ в Инет для установки base через прокси.
# export http_proxy='http://proxy:3128/'

Для настройка static ip после установки использовал netctl, сетевой интерфейс eno4.
# cp /etc/netctl/examples/... /etc/netctl/
# netctl start ...
# netctl enable ...

2) После пары авантюрных дней, от установки Arch на сервер в итоге пришлось отказаться: не время и не место были для этого.
Никто из нашей команды админов линукса не поддержал установку Arch.
В итоге я снес Arch и поставил Centos 7.1 1503.
Если на установку и настройку первого я потратил пол дня, то второго - час.
Также сказались привычки, например Webmin, от которого в Arch отказались.
Не хватило опыта работы с btrfs, когда я начал нарезку томов, то понял, что не готов...
При создании btrfs subvol для /var/lib/mysql прочел, что надо отключать COW...
Arch создал btrfs subvol /var/lib/machines без моего ведома.

3) Для восстановления данных с диска старого сервера следую такой стратегии:
- Загружаюсь на старом сервере с инсталляционного Arch образа.
- Монтирую диск, копирую данные по ftp с помощью mc куда мне надо.
- Опять же, можно запустить sshd и работать удаленно со своего места.

Старый сервер не грузился с флешки, пришлось писать образ Arch на cd.
При загрузке с cd выдало следующую ошибку:

Mounting '/dev/disk/by-label/ARCH_201508' to '/run/archiso/bootmnt'
ERROR: '/dev/disk/by-label/ARCH_201508' device did not show up after 30 seconds..

Решение:

# cd /dev/disk
# mkdir by-label
# cd by-label
# ln -s ../../sr0 ARCH_201508
mount -t iso9660 /dev/disk/by-label/ARCH_201508 /run/archiso/bootmnt
# exit