[devel] разбивалка диска (почему-то было: Шаги инсталлятора)
Alexey V. Vissarionov
gremlin на altlinux.org
Чт Июн 21 12:36:35 MSK 2018
On 2018-06-21 11:17:43 +0300, Michael Shigorin wrote:
>> решил пока сильно шашкой не размахивать, а осилить "маленький,
>> но важный кусочек", связанный с разбивкой диска,
> Это ни разу не "маленький", а САМЫЙ (с большим отрывом) сложный
> кусок инсталятора для разработчика и для пользователя тоже.
Самым сложным при этом является вопрос "чего хочу?", на который
приходится отвечать пользователю.
> Его сложность обусловлена, с одной стороной, огромным
> наследием самых разных устройств
Практически все современные блочные устройства, используемые для
размещения корневой ФС, позволяют работать с ними точно так же,
как с жесткими дисками, а эти методы не менялись более 20 лет.
> и вариантов организации данных на них,
Их, кстати, не так уж и много.
Вот есть физическое устройство /dev/sda; если его объем 2 Тб или
меньше, то создаем в его первом блоке MBR, а если больше, то GPT.
Если машина использует EFI, понадобится небольшой раздел с FAT32.
Если рядом есть физическое устройство /dev/sdb того же объема, то
можно рекомендовать пользователю создать зеркало. В любом случае
понадобится создать как минимум две ФС - / и /home, а для сервера
полезно еще и /var обособить (или /var/log - больше ничего совсем
большого в /var не бывает).
А, ну да: если держать корень на зеркале /dev/md0, то /home на
/dev/md1 может со временем расти - из зеркала в RAID-5, потом в
RAID-6, а потом только диски добавляй... в общем, примерно так:
md0 : active raid1 sdg1[3] sdf1[4] sde1[5] sda1[6] sdc1[1] sdb1[0] sdd1[2]
9764800 blocks [7/7] [UUUUUUU]
md1 : active raid6 sdb2[0] sda2[4] sde2[5] sdf2[6] sdg2[7] sdd2[3] sdc2[1]
14601845760 blocks super 1.2 level 6, 64k chunk, algorithm 2 [7/7]
[UUUUUUU]
Аналогично наращивать можно и RAID-10, только диски нужно добавлять
парами, а надежность деградирует.
> а с другой -- риском потери этих данных лёгким движением руки.
Главное - чтобы это происходило только в результате нажатия кнопки
"записать изменения": в этом случае ответственность за сохранность
данных полностью возлагается на пользователя ("ну, у вас ведь есть
резервная копия!").
> Известных мне работающих "машинок состояния", которые умеют
> "держать в уме" нюансы устройств/разбивок/ФС -- ровно два: libevms
> (апстрим давно умер) и libparted (который, помнится, сделали из
> партеда дебианщики для своего инсталятора).
Лично я не доверяю ни тому, ни другому. Поэтому просто озвучу хотелку:
нужна возможность запустить терминал и сделать вручную все необходимое
(в вышеприведенном примере это будет монтирование /dev/md0 в /target и
/dev/md1 в /target/home).
--
Alexey V. Vissarionov
gremlin ПРИ altlinux ТЧК org; +vii-cmiii-ccxxix-lxxix-xlii
GPG: 0D92F19E1C0DC36E27F61A29CD17E2B43D879005 @ hkp://keys.gnupg.net
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : signature.asc
Тип : application/pgp-signature
Размер : 801 байтов
Описание: отсутствует
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20180621/eb2534a6/attachment-0001.bin>
Подробная информация о списке рассылки Devel