Инструменты пользователя

Инструменты сайта


system:linux-mint13-raid1

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

system:linux-mint13-raid1 [2013/08/15 17:56] (текущий)
Строка 1: Строка 1:
 +====== Установка linux mint 13 на raid1 ======
  
 +
 +===== Введение =====
 +Уже давно присматривался к данной ОС в качестве основной на десктопе,​ но все как то не было времени,​ а возможно и желания,​ сделать переход с Windows. Но все таки этот момент настал,​ да и срок окончанию поддержки Windows XP, которую я использую в качестве основной,​ заканчивается через год. Так что это хороший повод перейти на Linux, теперь уже и на рабочем месте, а не только на серверах. Но в процессе установки столкнулся с некоторыми особенностями.
 +
 +===== Подготовка к установке =====
 +Под рукой оказался хороший компьютер,​ а именно наличие 2х SSD - Intel 520 Series. Которые я хотел объединить в программный raid 1 и на него установить систему. Как всегда,​ записал образ linux mint 13 (mate) на диск и загрузил live cd. После чего запустил установку системы,​ но увидел,​ что из установщика самого Mint создать программный raid 1 к сожалению нельзя,​ но ведь очень хочется.
 +
 +Можно конечно поставить систему на один диск, и уже потом создать raid1, но данный способ предполагает много операций и действия,​ а так как мы, системные администраторы,​ народ ленивый,​ то пойдем по другому пути.
 +
 +Итак, у нас в наличии следующие диски
 +<cli>
 +# fdisk -l /dev/sda
 +
 +Disk /dev/sda: 240.1 GB, 240057409536 bytes
 +255 heads, 63 sectors/​track,​ 29185 cylinders, total 468862128 sectors
 +Units = sectors of 1 * 512 = 512 bytes
 +Sector size (logical/​physical):​ 512 bytes / 512 bytes
 +I/O size (minimum/​optimal):​ 512 bytes / 512 bytes
 +Disk identifier: 0x00000000
 +
 +Disk /dev/sda doesn'​t contain a valid partition table
 +
 +# fdisk -l /dev/sdb
 +
 +Disk /dev/sdb: 240.1 GB, 240057409536 bytes
 +255 heads, 63 sectors/​track,​ 29185 cylinders, total 468862128 sectors
 +Units = sectors of 1 * 512 = 512 bytes
 +Sector size (logical/​physical):​ 512 bytes / 512 bytes
 +I/O size (minimum/​optimal):​ 512 bytes / 512 bytes
 +Disk identifier: 0x00000000
 +
 +Disk /dev/sdb doesn'​t contain a valid partition table
 +</​cli>​
 +
 +Диски решил разбить следующим образом,​ так как памяти на компьютере 16 Gb, то swap раздел вообще решил не создавать. В общем то, как разбить диск дело индивидуальное и зависит от конкретных задач и условий.
 +<cli>
 +/boot - 512 Mb
 +/ - 80 Gb
 +/home - все остальное
 +</​cli>​
 +
 +На всех партициях файловая система ext4. В результате у меня получилось примерно следующая картина
 +
 +{{ :​system:​mint-gparted.png | gparted }}
 +
 +===== Создание raid массива =====
 +Устанавливаем mdadm, так как по умолчанию он не установлен
 +<cli>
 +# aptitude install mdadm
 +</​cli>​
 +
 +И запускаем создание самих разделов
 +<cli>
 +# sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /​dev/​sd[ab]1
 +mdadm: Defaulting to version 1.2 metadata
 +mdadm: array /dev/md0 started.
 +
 +# sudo mdadm --create /dev/md1 --level=1 --raid-devices=2 /​dev/​sd[ab]2
 +mdadm: Defaulting to version 1.2 metadata
 +mdadm: array /dev/md0 started.
 +
 +# sudo mdadm --create /dev/md2 --level=1 --raid-devices=2 /​dev/​sd[ab]3
 +mdadm: Defaulting to version 1.2 metadata
 +mdadm: array /dev/md0 started.
 +</​cli>​
 +
 +Наблюдаем за состоянием процесса создания массива
 +<cli>
 +# cat /​proc/​mdstat
 +Personalities : [raid1]
 +md2 : active raid1 sdb3[1] sda3[0]
 +      151549880 blocks super 1.2 [2/2] [UU]
 +        resync=DELAYED
 +
 +md1 : active raid1 sdb2[1] sda2[0]
 +      82353080 blocks super 1.2 [2/2] [UU]
 +      [==>​..................] ​ resync = 10.6% (8795776/​82353080) finish=6.0min speed=203489K/​sec
 +
 +md0 : active raid1 sdb1[1] sda1[0]
 +      524276 blocks super 1.2 [2/2] [UU]
 +
 +unused devices: <​none>​
 +</​cli>​
 +
 +Так как у нас в наличие SSD, то можно ускорить процесс ребилда массива
 +<cli>
 +# echo 500000 > /​proc/​sys/​dev/​raid/​speed_limit_max
 +</​cli>​
 +
 +Как видим скорость возросла прилично
 +<cli>
 +# cat /​proc/​mdstat
 +Personalities : [raid1]
 +md2 : active raid1 sdb3[1] sda3[0]
 +      151549880 blocks super 1.2 [2/2] [UU]
 +      [======>​..............] ​ resync = 33.0% (50021568/​151549880) finish=3.3min speed=500834K/​sec
 +
 +md1 : active raid1 sdb2[1] sda2[0]
 +      82353080 blocks super 1.2 [2/2] [UU]
 +
 +md0 : active raid1 sdb1[1] sda1[0]
 +      524276 blocks super 1.2 [2/2] [UU]
 +
 +unused devices: <​none>​
 +</​cli>​
 +
 +После полной синхронизации всех дисков,​ создаем фс
 +<cli>
 +# mkfs.ext4 /dev/md0
 +mke2fs 1.42 (29-Nov-2011)
 +Filesystem label=
 +OS type: Linux
 +Block size=1024 (log=0)
 +Fragment size=1024 (log=0)
 +Stride=0 blocks, Stripe width=0 blocks
 +131072 inodes, 524276 blocks
 +26213 blocks (5.00%) reserved for the super user
 +First data block=1
 +Maximum filesystem blocks=67633152
 +64 block groups
 +8192 blocks per group, 8192 fragments per group
 +2048 inodes per group
 +Superblock backups stored on blocks:
 +        8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409
 +
 +Allocating group tables: done
 +Writing inode tables: done
 +Creating journal (8192 blocks): done
 +Writing superblocks and filesystem accounting information:​ done
 +
 +# mkfs.ext4 /dev/md1
 +mke2fs 1.42 (29-Nov-2011)
 +Filesystem label=
 +OS type: Linux
 +Block size=4096 (log=2)
 +Fragment size=4096 (log=2)
 +Stride=0 blocks, Stripe width=0 blocks
 +5152768 inodes, 20588270 blocks
 +1029413 blocks (5.00%) reserved for the super user
 +First data block=0
 +Maximum filesystem blocks=4294967296
 +629 block groups
 +32768 blocks per group, 32768 fragments per group
 +8192 inodes per group
 +Superblock backups stored on blocks:
 +        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
 +        4096000, 7962624, 11239424, 20480000
 +
 +Allocating group tables: done
 +Writing inode tables: done
 +Creating journal (32768 blocks): done
 +Writing superblocks and filesystem accounting information:​ done
 +
 +# mkfs.ext4 /dev/md2
 +mke2fs 1.42 (29-Nov-2011)
 +Filesystem label=
 +OS type: Linux
 +Block size=4096 (log=2)
 +Fragment size=4096 (log=2)
 +Stride=0 blocks, Stripe width=0 blocks
 +9478144 inodes, 37887470 blocks
 +1894373 blocks (5.00%) reserved for the super user
 +First data block=0
 +Maximum filesystem blocks=4294967296
 +1157 block groups
 +32768 blocks per group, 32768 fragments per group
 +8192 inodes per group
 +Superblock backups stored on blocks:
 +        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
 +        4096000, 7962624, 11239424, 20480000, 23887872
 +
 +Allocating group tables: done
 +Writing inode tables: done
 +Creating journal (32768 blocks): done
 +Writing superblocks and filesystem accounting information:​ done
 +</​cli>​
 +
 +===== Подготовка к chroot =====
 +Создаем две папки, **target** - здесь будет располагаться наша будущая система,​ **source** - здесь будет располагаться сами бинарные файлы с live cd диска.
 +<cli>
 +# mkdir /source /target /​target/​boot
 +</​cli>​
 +
 +А теперь монтируем наши будущие диски в соответствующие папки. Напомню,​ что на /dev/md1 у нас располагается корень системы,​ а на /dev/md0 соответственно /boot
 +<cli>
 +# mount /dev/md1 /target/
 +# mount /dev/md0 /​target/​boot
 +</​cli>​
 +
 +После этого монтируем live-cd и копируем все данные с диска на наши md устройства (на моих дисках Intel SSD заняло ~7 минут)
 +<cli>
 +# mount -o loop -t squashfs /​cdrom/​casper/​filesystem.squashfs /source/
 +# rsync -avz /source/ /target/
 +</​cli>​
 +
 +Копируем кеш apt и прописываем dns сервер
 +<cli>
 +# cp /​var/​cache/​apt/​archives/​* /​target/​var/​cache/​apt/​archives/​
 +cp: omitting directory `/​var/​cache/​apt/​archives/​partial'​
 +
 +# echo "​nameserver 8.8.8.8"​ > /​target/​etc/​resolv.conf
 +</​cli>​
 +
 +Ну и собственно производим монтирование необходимых точек и файловых систем,​ для перехода в chroot
 +
 +Теперь подготавливаем нашу систему для chroot
 +<cli>
 +# mount --bind /dev/ /​target/​dev/​
 +# mount --bind /dev/shm/ /​target/​dev/​shm/​
 +# mount --bind /dev/pts/ /​target/​dev/​pts/​
 +# mount --bind /proc/ /​target/​proc/​
 +# mount --bind /sys/ /​target/​sys/​
 +# mount --bind /tmp/ /​target/​tmp/​
 +</​cli>​
 +
 +Теперь у нас все готово для выполнения chroot
 +
 +===== Установка grub2 =====
 +Собственно делаем сам chroot
 +<cli>
 +# chroot /target/
 +</​cli>​
 +
 +Снова устанавливаем mdadm и mc (по желанию)
 +<cli>
 +# aptitude install mc mdadm
 +The following NEW packages will be installed:
 +  mc mc-data{a} mdadm postfix{a}
 +0 packages upgraded, 4 newly installed, 0 to remove and 103 not upgraded.
 +Need to get 0 B/3,774 kB of archives. After unpacking 10.3 MB will be used.
 +Do you want to continue? [Y/n/?] y
 +</​cli>​
 +
 +В процессе установки вы увидите сообщения вида
 +<cli>
 +Processing triggers for menu ...
 +Processing triggers for initramfs-tools ...
 +update-initramfs:​ Generating /​boot/​initrd.img-3.2.0-23-generic
 +cryptsetup: WARNING: could not determine root device from /etc/fstab
 +Warning: No support for locale: en_US.utf8
 +mdadm: cannot open /dev/md/0: No such file or directory
 +mdadm: cannot open /dev/md/1: No such file or directory
 +mdadm: cannot open /dev/md/2: No such file or directory
 +Processing triggers for libc-bin ...
 +ldconfig deferred processing now taking place
 +</​cli>​
 +
 +Это вполне нормально,​ так просто игнорируем их. 
 +
 +Устанавливаем grub
 +<cli>
 +# dpkg-reconfigure grub-pc
 +Replacing config file /​etc/​default/​grub with new version
 +
 +# grub-install /dev/sda
 +Installation finished. No error reported.
 +
 +# grub-install /dev/sdb
 +Installation finished. No error reported.
 +</​cli>​
 +
 +Генерируем grub.cfg
 +<cli>
 +# update-grub
 +Generating grub.cfg ...
 +Found linux image: /​boot/​vmlinuz-3.2.0-23-generic
 +Found initrd image: /​boot/​initrd.img-3.2.0-23-generic
 +Found memtest86+ image: /​memtest86+.bin
 +done
 +</​cli>​
 +
 +===== Заключительные штрихи =====
 +
 +Меняем пароль на пользователя root и создаем не привилегированного пользователя
 +<cli>
 +# passwd root
 +Enter new UNIX password:
 +Retype new UNIX password:
 +passwd: password updated successfully
 +
 +# useradd alex
 +# passwd alex
 +Enter new UNIX password:
 +Retype new UNIX password:
 +passwd: password updated successfully
 +
 +# usermod -G sudo alex
 +# id alex
 +uid=1000(alex) gid=1000(alex) groups=1000(alex),​27(sudo)
 +</​cli>​
 +
 +Все, что нам осталось сделать,​ это прописать данные в fstab. Что мы собственно и делаем. Для начала определяем UUID наших дисков,​ которые мы и будем использовать в fstab вместо /dev/sd[ab]
 +<cli>
 +# blkid /dev/md0
 +/dev/md0: UUID="​e2f24dfa-9428-4908-a819-bec5dd39e72c"​ TYPE="​ext4"​
 +
 +# blkid /dev/md1
 +/dev/md1: UUID="​15d20518-34b2-414a-8f5d-33006fcf6105"​ TYPE="​ext4"​
 +
 +# blkid /dev/md2
 +/dev/md2: UUID="​ea68e109-1d50-4750-b76e-51e497407d10"​ TYPE="​ext4"​
 +</​cli>​
 +
 +В результате у нас должен получится следующий файл
 +<cli>
 +# cat /etc/fstab
 +tmpfs           /​dev/​shm ​               tmpfs   ​defaults ​       0 0
 +devpts ​         /​dev/​pts ​               devpts ​ gid=5,​mode=620 ​ 0 0
 +sysfs           /​sys ​                   sysfs   ​defaults ​       0 0
 +proc            /proc                   ​proc ​   defaults ​       0 0
 +
 +# /dev/md0
 +UUID="​e2f24dfa-9428-4908-a819-bec5dd39e72c"​ /boot       ​ext4 ​   defaults ​       1 2
 +
 +# /dev/md1
 +UUID="​15d20518-34b2-414a-8f5d-33006fcf6105"​ /           ​ext4 ​   defaults ​       1 1
 +
 +# /dev/md2
 +UUID="​ea68e109-1d50-4750-b76e-51e497407d10"​ /home       ​ext4 ​   defaults ​       1 2
 +</​cli>​
 +
 +Вот собственно и все. Выходим из chroot, перегружаем систему и пользуемся Linux Mint :)
 +<cli>
 +# exit
 +# reboot
 +</​cli>​
 +
 +После загрузки мы получим такую систему
 +<cli>
 +# df -h
 +Filesystem ​     Size  Used Avail Use% Mounted on
 +/​dev/​md1 ​        ​79G ​ 4.4G   ​71G ​  6% /
 +udev             ​12G ​ 4.0K   ​12G ​  1% /dev
 +tmpfs           ​4.7G ​ 1.1M  4.7G   1% /run
 +none            5.0M     ​0 ​ 5.0M   0% /run/lock
 +none             ​12G ​  ​76K ​  ​12G ​  1% /run/shm
 +/​dev/​md0 ​       509M   ​54M ​ 430M  12% /boot
 +/​dev/​md2 ​       145G  2.3G  135G   2% /home
 +</​cli>​
 +
 +Как то так стал выглядеть мой рабочий стол
 +
 +{{ :​system:​mint13-mate-desktop.png?​direct&​300 | Desktop }}
 +
 +===== Заключение =====
 +Вот такими не хитрыми действиями мы смогли установить Linux Mint на программный raid. Честно говоря,​ я не понял, почему разработчики не добавили возможность создания программного raid массива в самом инсталяторе. Возможно из-за того, что дистрибутив рассчитан прежде всего на простых пользователей,​ для которых raid просто непонятное слово? :) Сложно сказать,​ оставим это на их совести
system/linux-mint13-raid1.txt · Последние изменения: 2013/08/15 17:56 (внешнее изменение)