Wednesday, September 30, 2015

Установка Gentoo. По-русски

Сегодня будем развенчивать миф о сложности установки Gentoo. Почему установка по-русски? Потому что настраивать станем русскую локаль, раскладку и временную зону. Статья получилась довольно объёмной, для тех, кто не знает, как скоротать долгий вечер).
Предлагается вооружиться знаниями об архитектуре своего процессора, перейти на страницу get gentoo, выбрать эту самую архитектуру и после стольких утомительных мышкодвижений скачать и записать на диск (или usb-flash) нужный образ:
stages → current iso → install-$ARCH-minimal-*.iso.

Загрузитесь с СD-диска.

Грузимся с параметрами по умолчанию.
gentoo boot

Настройка интернет-соединения:

автор использует модемное соединение, данные передаются автоматически при помощи DHCP.
# /sbin/ifconfig
если кроме интерфейса lo больше ничего нет, значит делаем следующее:
# dhcpcd eth0 (где ваш сетевой интерфейс - eth0)
после чего повторяем команду /sbin/ifconfig
теперь у нас появились данные интерфейса eth0.
Для настройки adsl-соединения:
# pppoe-setup
# net-setup eth0 (для обычных или беспроводных сетей)
# ping ya.ru - пингуем яндекс
чтобы прервать пинги:
Ctrl+C
Также для настройки обычного или беспроводного соединения можно использовать команду net-setup eth0, где eth0 — имя сетевого интерфейса. Интернет настроили, идём дальше

Создание разделов диска

Для этого воспользуемся cfdisk:
перед тем,как создавать разделы,сядьте и подумайте какие,какого размера и с какой файловой системой.
  • / - корневой каталог
  • /home - директории пользователей
  • /boot - загрузочные файлы
  • /usr - пользовательские приложения.
  • /var - изменяемые приложения, лучше не жадничать хотя бы потому,что там будут компилироваться наши пакеты
  • /opt - большой размер нужен для игрового сервера
Лучше записать то, что вы себе насочиняли. Для домашнего использования можно обойтись стандартными каталогами /boot/ , swap.

Непосредственно создание разделов:

# cfdisk /dev/sda
где sda - SCSI-диск; hda - IDE-диск. Выбирайте что нужно вам.
  • news - создание нового раздела
  • type - выбор типа файловой системы (83 - Linux, 82 - swap)
  • bootable - отметить как загрузочный (укажите для раздела,в который хотите смонтировать /boot!)
  • write - записать изменения
  • delete - удалить
  • quit - выйти
cfdisk

Назначение файловой системы:

# mke2fs /dev/sda1 - создание `ext2` на разделе `/dev/sda1`
# mke2fs -j /dev/sda3 - создание `ext3` на разделе `/dev/sda3`
# mkswap /dev/sda2 - создание раздела подкачки на `/dev/sda2`
# swapon /dev/sda2 - и его активация
# mkfs.ext4 - создание `ext4`, если не желаете использовать `ext3`

Назначение точек монтирования:

# mount /dev/sda3 /mnt/gentoo - монтируем корень
# mkdir /mnt/gentoo/boot - раздел под загрузчик
# mount /dev/sda1 /mnt/gentoo/boot - монтирование раздела загрузчика

Архив стадии, дерево портежей

В качестве источника загрузки автором было использовано зеркало mirror.yandex.ru Внимательно следите за тем,чтобы загрузить подходящий скачанному вами образу архив. В примере использован amd64.
# cd /mnt/gentoo
# links http://mirror.yandex.ru/gentoo-distfiles/releases/amd64/current-iso/
Выберите файл stage3*.tar.bz и нажмите enter. Начнётся загрузка архива, это 161 Мб, так что пока можно попить кофейку.
gentoo install
Загрузили? Распаковываем:
# tar xvjpf stage3-*.tar.bz
Теперь сделаем снимок дерева портежей
# links http://mirror.yandex.ru/gentoo-distfiles/snapshots/
выбираем внизу portage-latest.tar.bz2
Начнётся загрузка.
распаковываем (из корневого каталога):
# tar xvjf /mnt/gentoo/portage-latest.tar.bz2 -C /mnt/gentoo/usr

Настройка компиляции ядра

Настройки хранятся в файле mnt/gentoo/etc/portage/make.conf. Его и открываем любимым редактором (joe, nano, vi?) Здесь используются переменные и значения. Пример:
переменная - CHOST, её значение - x86_64-pc-linux-gnu - указывает на архитектуру процессора CFLAGS="-march=k8 -pipe -O2" - где
"-march=k8" - название целевой архитектуры, k8 прописывается для amd64, -О2 - классс оптимизации.
Допустимые значения:
  • -s оптимизация по размеру
  • -0 без оптимизации
  • -1 -2 -3 - по скорости
  • CXXFLAGS="${CFLAGS}" - не изменяйте её
  • MAKEOPTS="-j2" - определяет сколько параллельных процессов компиляции можно запускать при установке пакета. Обычно ставят значение равное количеству ядер процессора +1. Если ваш процессор поддерживает технологию Hyper-threading, разумное значение будет: количество доступных ядер, умноженное на 2 +1. Более тонкой настройки можно пока не делать, займётесь этим позже.

Выбор зеркал, DNS, chroot

Действия в примере производятся из каталога /
Выбор зеркала загрузки
# mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf
Выбор зеркала rsync:
# mirrorselect -i -r -o >> /mnt/gentoo/etc/portage/make.conf
Из предложенного списка выберите зеркала России.
gentoo rsync
Нелишним будет скопировать информацию о DNS
# cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
Монтируем /procsys & /dev:
# mount -t proc none /mnt/gentoo/proc
# mount -o bind /dev /mnt/gentoo/dev
# mount -t sysfs none /mnt/gentoo/sys
Переходим в новую среду с помощью chroot:
# chroot /mnt/gentoo /bin/bash
# env-update
# source /etc/profile
# export PS1="(chroot) $PS1"
gentoo chroot

Прочие премудрости

Обновите дерево портежей:
# mkdir /usr/portage
# emerge --sync
это может занять какое-то время, не пугайтесь
# emerge portage - если выдаёт сообщение о новой версии портежей
Выбор профиля:
# eselect profile list
Available profile symlink targets:
[1]   default/linux/amd64/10.0 *
[2]   default/linux/amd64/10.0/desktop
[3]   default/linux/amd64/10.0/server
# eselect profile set 3
Думаю, приведённые действия не нуждаются в пояснении, всё ясно из названий профилей. Нужно лишь выбрать необходимый вам, исходя из ваших задач.

USE-флаги

Служат для включения/отключения поддержки необязательных функций при компиляции программ. Вам не нужен X-сервер? Допишите значение "-X". Не нужна поддержка qt? Значит "-qt". И наоборот включите поддержку unicode: "unicode". Посмотреть допустимые значения:
# less /usr/portage/profiles/use.desc
Значения дописываются в /etc/portage/make.conf в строку USE
# nano -w /etc/portage/make.conf
Например:
gentoo use flags

Настройка кодировки:

# nano -w /etc/locale.gen
вы увидите список закомментированных строк с кодировками, вот сверху или же ниже его впишите:
en_US.UTF-8 UTF-8
ru_RU.UTF-8 UTF-8
сохраните изменения и выйдите: Ctrl+OCtrl+Q
# locale-gen

Настройка времени:

# cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime
Теперь наше локальное время идёт по Кремлёвским курантам)) Можете скопировать любое место вашей дислокации из /usr/share/zoneinfo

Ядро

Скачаем исходники ядра
# USE="-doc symlink" emerge gentoo-sources

Установка ядра

Способ 1 - всё и сразу
# emerge genkernel
# genkernel all
В результате получим ядро с поддержкой разного ненужного хлама. Плюс этого способа - простота. Примечание: можно подправить /etc/genkernel.conf, включив в нём параметры:
OLDCONFIG="yes"
MENUCONFIG="yes"
CLEAN="no"
MRPROPER="no"
В таком случае вы сможете собрать своё ядро, а genkernel сделает всё остальное. После сборки можете просто проверить название созданного ядра и initrd, а затем обратиться к дальнейшему пункту о сборке программ:
# ls /boot/kernel* /boot/initramfs*
# emerge pcutils (с её помощью вы сможете посмотреть аппаратную часть своего ПК)
# cd /usr/src/linux (переход в каталог с исходниками)
# make menuconfig (вызов меню с настройками)
gentoo make menuconfig
Здесь всё строго индивидуально. Используете usb-мышь или клавиатуру? Проверьте включена ли их поддержка. Хотите, чтобы система понимала NTFS? Проверьте включена ли её поддержка. Настроек хватит на всё: тип процессора, видео, звук, поддержка файловых систем, девайсов устройств, поддерживаемых кодировок. Просто пройдитесь по пунктам меню и поразбирайтесь,что вам нужно,а что нет. Если вы испытываете затруднения с этим, можете ознакомиться со следующей заметкой, а затем продолжить.
Настроили? Теперь ядро нужно скомпилировать и установить:
# make && make modules_install - для тех, кто занимался ручной сборкой
И скопировать ядро в /boot:
# cp arch/x86_64/boot/bzImage /boot/
Пример:
# cp arch/x86_64/boot/bzImage /boot/2.6.37-gentoo-r4
Если вы собрали ядро с initramfs, следует всё же установить genkernel и скомандовать:
# genkernel --install initramfs
Сборка программ, конфигурирование модулей, настройка загрузчика
# emerge udev (автоматическое распознавание устройств) syslog-ng (служба журналирования) vixie-cron (что такое cron, думаю, знают все) dhcpcd (автоматическое получение IP-адреса, если у вас это дело статично, можете не ставить)
Теперь добавляем эти вещи в автозагрузку:
# rc-update add udev boot
# rc-update add syslog-ng default
# rc-update add vixie-cron default
# rc-update add dhcpcd default
Примечание:
Если вы владелец беспроводного соединения, лучше заранее озаботиться о простом способе подключения к сети после первой перезагрузки. Например, установить wicd с флагом ncurses: это позволит провести настройку с помощью вызова wicd-curses. Также не забывайте заглянуть в содержимое /etc/resolv.conf, которое может быть перезаписано dhcpcd.
Проверяем наши устройства:
# nano -w /ets/fstab
Должно получиться примерно так:
# NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.
/dev/sda1    /boot           ext2            noatime 1 2
/dev/sda2    /               ext4            noatime         0 1
/dev/sda5    none            swap            defaults        0 0
/dev/sda6    /home           ext4            noatime         0 0
tmpfs        /var/tmp        tmpfs           size=4G,noatime 0 0
tmpfs        /var/log        tmpfs           size=10M        0 0
debugfs      /sys/kernel/debug  debugfs      defaults        0 0
#/dev/cdrom  /mnt/cdrom      auto            noauto,ro       0 0
Обратите внимание: нужно убрать параметр noauto напротив /boot (в данном примере /boot расположен на/sda1). Вообще, boot и swap-разделы создавать необязательно. Монтирование tmpfs и debugfs по вкусу и потребностям.
Имя хоста:
# nano -w /etc/conf.d/hostname
Укажите здесь имя своего ПК
Сеть:
# nano -w /etc/conf.d/net
дописываем:
# /etc/conf.d/net
#
config_eth0="dhcp" # для получения динамического IP-адреса
# если адрес статичен,то впишите вместо dhcp свою информацию. Например:
config_eth0="192.168.0.2 netmask 255.255.255.0" # IP-адрес и адрес сети
routes_eth0="default via 192.168.0.1" # роутер
dns_servers_eth0="192.168.0.1 8.8.8.8" # DNS-адреса
Теперь следует указать gentoo на существующий интерфейс. Для этого создайте символьную ссылку наnet.eth0:
# cd /etc/init.d
# ln -s net.lo net.eth0
Добавление сетевого интерфейса в автозагрузку:
# rc-update add net.eth0 default
Создание пароля для суперпользователя:
# passwd
впишите пароль для учётной записи root
Примечание: можете также ознакомиться с настройками файла /etc/rc.conf (редактор по умолчанию, графическая среда и прочее)
Настройка раскладки клавиатуры:
# /etc/conf.d/keymaps
KEYMAP="ru"
Настройка часов:
# /etc/conf.d/clock
CLOCK="local"
TIMEZONE="Europe/Moscow"
Установка загрузчика grub2:
# nano -w /etc/portage/make.conf
GRUB_PLATFORMS="pc"

# emerge -av grub sysboot/os-prober
# grub2-install /dev/sda
# grub2-mkconfig -o /boot/grub/grub.cfg
По состоянию на 2015 год в gentoo предлагается установка grub2 по-умолчанию, хотя вы всегда можете выбрать любой другой загрузчик: grub-legacy, lilo.

Финиш

# exit
# cd
# umount /mnt/gentoo/boot /mnt/gentoo/proc /mnt/gentoo/dev /mnt/gentoo (в общем последовательно отмонтируйте всё, что смонтировали в `/mnt`)
# reboot
grub gentoo
Перезагрузка, загрузка ПК с винчестера и вас встречают приглашением входа в систему. Поздравляю, вы победили!

Локализация системы

Перезагрузившись, мы обнаружим прескверную вещь: кириллица отображается квадратиками. Что ж, вlocale.gen нужные настройки внесены, продолжим квест по русификации системы.
# emerge terminus-font intlfonts freefonts cronyx-fonts corefonts kbd
В файле /etc/env.d/02locale:
LC_ALL=""
LANG="ru_RU.UTF-8"
В /etc/conf.d/keymaps:
keymap="ruwin_alt_sh-UTF-8"
windowkeys="NO"
extended_keymaps=""
dumpkeys_charset=""
fix_euro="NO"
В /etc/conf.d/consolefont:
consolefont="cyr-sun16"
consoletranslation=""
После чего прописать consolefont в автозагрузку:
# rc-update add consolefont boot
Можно также установить различные шрифты и поэкспериментировать с ними. После пересборки/установки шрифтов желательно выполнить:
# fc-cache -fv

Sunday, September 27, 2015

Настройка кластера Windows Server 2012 на сервере RS420 G4


Введение

В данной статье речь пойдет о подготовке и конфигурации отказоустойчивого кластера (Failover Cluster) на базе сервера ETegro Hyperion RS420 G4. Программно-аппаратный комплекс ETegro Hyperion RS420 специально сконструирован для построения решений класса «кластер-в-коробке» (Cluster-in-a-box) на основе Microsoft Windows Server 2012 и сертифицирован для работы с этой операционной системой.
Аналогичную процедуру можно применять и к кластерам с внешними устройствами хранения. Например для дисковых полок Fastor JS200 G3 и Fastor JS300 G3, используемых совместно со стандартными серверами.
Настройку разделим на 3 этапа:
  1. Подготовительные работы, которые будут включать подготовку дисковой подсистемы сервера для работы в кластере и настройку сети между узлами.
  2. Установка и настройка компоненты Failover Cluster.
  3. Настройка роли отказоустойчивого файлового сервера в кластере.
Перед началом настройки на все узлы рекомендуется:
  • установить все доступные обновления операционной системы (обратите особое внимание на то, что на узлах должен быть установлен абсолютно одинаковый набор обновлений);
  • обновить до последней версии драйверы и прошивки устройств, драйверы должны иметь подпись Microsoft;
  • узлы кластера должны быть добавлены в домен Active Directory;
  • иcпользуйте в одном массиве идентичные SAS-диски вплоть до версии прошивки.

Подготовка к установке кластера

Подготовка дисковой подсистемы

Настройка MPIO

Каждый узел сервера имеет доступ к общему дисковому хранилищу, которое позволяет разместить до 12 дисков. Для установки операционной системы используются внутренние посадочные места для 2.5” SATA/SSD дисков.
Диски в сервере подключены одновреммено к двум узлам системы с использованием дублированной системы ввода/вывода (Multipath I/O), таким образом, в диспетчере устройств будет отображаться удвоенное количество дисков находящихся в хранилище. В нашем случае, мы установили 12 SAS-дисков, в результате чего в диспетчере устройств отображается 24. Для операционной системы установлен SSD диск.
Диспетчер устройств без настроенного MPIO
Рис. 1. Диспетчер устройств без настроенного MPIO
Для настройки Multipath I/O запустите мастер установки ролей и компонентов и установите компоненту Multipath I/O.
Добавление компоненты MPIO
Рис. 2. Добавление компоненты MPIO
На рабочем столе откройте ярлык MPIO. На вкладке Discover Multi-Paths установите галку Add support for SAS devices и нажмите Add. Перезагрузите сервер.
Свойства MPIO
Рис. 3. Свойства MPIO
После перезагрузки в диспетчере устройств отображается 12 дисков, принадлежащих дисковому хранилищу.
Диспетчер устройств с настроенным MPIO
Рис. 4. Диспетчер устройств с настроенным MPIO
Данную процедуру необходимо выполнить на двух узлах.

Инициализация дисков

После этого необходимо сделать сброс каждого диска (Reset Disk) для того чтобы удалить все данные и метаинформацию, которые могут там содержаться. Сделать инициализацию (Initialize) дисков и после этого перевести диски в Offline. Инициализацию достаточно сделать на одном из узлов сервера. Данные операции доступны в оснастке Server Manager - File and Storage Services - Volumes - Disks.
Управление дисками в консоли Server Manager
Рис. 5. Управление дисками в консоли Server Manager

Подготовка сетевых интерфейсов

В настройках интерфейса для подключения к локальной сети рекомендуется задать статические IP-адреса. Информация об IP-адресах и именах узлов кластера обязательно должна содержаться в прямой и обратной зоне DNS сервера. Убедитесь в работоспособности прямого и обратного разрешения имен. Для настройки сети между узлами кластера в ETegro Hyperion RS420 G4 используется внутренний сетевой интерфейс Intel® I350 Gigabit Backplane Connection, в настройках которого вы можете выставить свою конфигурацию протокола TCP/IPv4. Неиспользуемые сетевые адаптеры рекомендуется поставить в состояние Disabled.
Network Connections
Рис. 6. Network Connections

Установка и настройка компоненты Failover Cluster

После того, как были проделаны все необходимые подготовительные настройки, на узлы кластера установим компоненту Failover Cluster с помощью мастера установки ролей и компонентов.
Добавление компоненты Failover Cluster
Рис. 7. Добавление компоненты Failover Cluster

Проверка конфигурации узлов кластера

Прежде чем приступить к настройке кластера необходимо выполнить проверку конфигурации узлов кластера. Для этого в Failover Cluster Manager запустим мастер проверки конфигурации (Validate a Configuration Wizard).
Запуск мастера проверки конфигурации
Рис. 8. Запуск мастера проверки конфигурации
Для корректной работы кластера важно успешное прохождение всех тестов.
На шаге Select Servers or a Cluster укажите имена узлов кластера, которые, как было сказано выше, должны являться членами домена Active Directory.
Select Servers or a Cluster
Рис. 9. Select Servers or a Cluster
На шаге Testing Options выберем прохождение всех тестов(Run all tests).
Testing Options
Рис. 10. Testing Options
По завершении работы Validate a Configuration Wizard откроется окно с результатами проверки. Нажав View Report можно ознакомиться с детальной информацией о пройденных тестах.
Note
Не переходите к следующим шагам, пока в мастере проверки кластера не будут пройдены АБСОЛЮТНО все тесты.
Summary
Рис. 11. Summary

Установка кластера

Теперь можно приступить к установке кластера. Для этого в Failover Cluster Manager запустим Create Cluster Wizard.
На шаге Select Servers укажите имена узлов кластера.
Select Servers
Рис. 12. Select Servers
На следующем шаге введите имя кластера и его IP- адрес.
Access Point for Administering the Cluster
Рис. 13. Access Point for Administering the Cluster
На шаге Confirmation снимем галку Add all eligible storage to the cluster. Диски настроим позже с использованием новой компоненты Storage Spaces, которая стала доступна в Windows 2012.
Confirmation
Рис. 14. Confirmation
По завершении работы мастера можно ознакомиться с подробным отчетом о результатах.
Summary
Рис. 15. Summary
В результате работы мастера будет создан объект Active Directory с именем CLUSTER1. Объект будет располагаться в том же контейнере, где и узлы кластера, в нашем случае в контейнере Experiment.
Контейнер Active Directory
Рис. 16. Контейнер Active Directory
Далее необходимо дать разрешение на создание объектов в контейнере Experiment для компьютера CLUSTER1. Это будет необходимо для успешного добавления роли кластера.
Свойства контейнера Experiment
Рис. 17. Свойства контейнера Experiment

Настройка дисков для кластера

Приступим к настройке общего дискового ресурса для узлов кластера с использованием компоненты Storage Spaces. Подробно о настройке Storage Spaces.
Как видно следующем на рисунке, было добавлено 2 виртуальных диска quorum и file-storage.
Storage Pols в консоли Server Manager
Рис. 18. Storage Pols в консоли Server Manager
Диск quorum настроим в качестве диска кворума для кластера, диск file-storage – для хранения данных.
Добавим вновь созданные диски в кластер. Для этого в Failover Cluster Manager в правой панели правой кнопкой мыши выберите Disks и нажмите Add Disk.
Добавление диска в кластер
Рис. 19. Добавление диска в кластер
Для настройки диска кворума в Failover Cluster Manager нажмите правой кнопкой на имени кластера и выберете меню More Actions – Configure Cluster Quorum Settings.
Установка диска кворума в консоли Failover Cluster Manager
Рис. 20. Установка диска кворума в консоли Failover Cluster Manager
Далее запуститься мастер настройки диска кворума.
На шаге Select Quorum Configuration Option используем рекомендуемые параметры.
Quorum Configuration Option
Рис. 21. Quorum Configuration Option
На шаге Confirmation подтверждаем конфигурацию.
Confirmation
Рис. 22. Confirmation
На последнем шаге можно ознакомиться с детальным отчетом.
Summary
Рис. 23. Summary

Настройка роли отказоустойчивого файлового сервера в кластере

Добавим роль файлового сервера для кластера. В Failover Cluster Manager нажмите правой кнопкой на имени кластера и выберите пункт Configure Role.
На шаге Select Role выберем File Server.
Select Role
Рис. 24. Select Role
На следующем шаге предлагается выбрать тип файлового сервера. Выберем File Server for general use.
File Server Type
Рис. 25. File Server Type
На шаге Client Access Point необходимо ввести имя и IP-адрес для доступа клиентов к файловому серверу.
Client Access Point Type
Рис. 26. Client Access Point Type
Далее выберем диск для данных файлового сервера. В нашем случае доступен Cluster Disk 2.
Select Storage Point Type
Рис. 27. Select Storage Point Type
Подтверждаем конфигурацию.
Confirmation
Рис. 28. Confirmation
На последнем шаге можно ознакомиться с детальным отчетом.
Summary
Рис. 29. Summary
В результате работы мастера будет создан объект Active Directory с именем FILESTORAGE. Объект будет располагаться в том же контейнере, где и узлы кластера, а также созданный ранее объект CLUSTER1. Как было описано выше, объект CLUSTER1 должен иметь права на создание объектов в контейнере, иначе объект FILESTORAGE создан не будет.
Контейнер Active Directory
Рис. 30. Контейнер Active Directory
В консоли Failover Cluster Manager можно убедиться, что роль успешно добавлена и функционирует.
Консоль Failover Cluster Manager