Документация по ОС FreeBSD Суббота, 04.05.2024, 03:36
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Мои статьи [0]
Установка и настройка [281]
X Window [25]
Man pages [30]
Ports & Packages [26]
cvs [18]
Multimedia [20]
Нововсти в мире Unix [0]
RFC [4]
RFC (Request for Comments, Запрос на комментарии) - серия документов, публикуемая сообществом исследователей и разработчиков, руководствующихся практическими интересами, в которой описывается набор протоколов и обобщается опыт функционирования Интернет.
Безопасность [52]
Работа с железом [58]
Книги по FreeBSD [17]
Сеть [505]
Программирование [40]
FireWall [58]
Темы экзамена BSDA [14]
Официальные темы экзамена BSDA, включая подробноые описания и советы по обучению.

Главная » Статьи » Работа с железом

Установка FreeBSD на IBM x3250 M4 c RAID контроллером ServeRAID BR10il [2012]
Пришла пора апгрейда одного из серверов. 

Ему на замену пришел свеженький IBM x3250 M4 (P/N 258372G) c контроллером ServeRAID BR10il (LSISAS 1064E B3, P/N 49Y4737).
 
На болванку была нарезана FreeBSD 8.3-RELEASE-amd64, болванка вставлена в DVD привод, пошел процесс загрузки системы и… облом – еще до появления меню с опциями ловим какой-то kernel panic, информацию о причинах которого не успеваем увидеть на мониторе из-за мгновенного ухода сервера в ребут. 

Загрузка без ACPI помогла узреть причину паники:
 
NMI ISA b8, EISA ff 
RAM parity error, likely hardware failure

Ну, думаем, битая память приехала. Удалили планку с дополнительными 4Гб. Результат при загрузке FreeBSD не изменился. Поменяли местами планки памяти – эффект нулевой.
 
Попробовали загрузиться с установочных дисков с другими версиями FreeBSD (7.3, 8.2, 9.0 amd64/i386) – результат был неизменным: kernel panic. 

Решили убрать RAID-контроллер – без него загрузка с любого дистрибутива FreeBSD проходила абсолютно нормально. «Узкое место» было найдено. Для того, чтобы определить «живость» контроллера решили попробовать поставить другую систему – и, о чудо, CentOS расчудесно встал с первого раза. Параллельно был найден топик на форуме FreeBSD с симптомами, на 100% совпадающими с нашим случаем. Решили попробовать загрузится с уже установленной системы с ядром, включающим в себя минимальное кол-во устройств и опций. Засада была в том, что жесткие диски были SAS, а у нас не было под рукой ни одной машинки с SAS контроллером.
 
Выходом стала установка FreeBSD на USB флешку. После установки было собрано ядро со следующим конфигом:
 
cpu             HAMMER 
device          acpi 
device          ata
device          atadisk
device          atapicd
device          atkbd
device          atkbdc 
device          bpf 
device          cd 
device          ch 
device          cpufreq 
device          da 
device          ehci 
device          em 
device          ether 
device          firmware 
device          gif 
device          kbdmux 
device          loop 
device          md 
device          miibus 
device          mpt 
device          ohci 
device          pass 
device          pci 
device          psm 
device          pty 
device          random 
device          sa 
device          sc 
device          scbus 
device          ses 
device          splash 
device          tun 
device          uart 
device          uhci 
device          uhid 
device          ukbd 
device          ulpt 
device          umass 
device          usb 
device          vga 
device          vlan 
ident           MINI 
makeoptions     DEBUG=-g 
options         ATA_STATIC_ID 
options         AUDIT 
options         CD9660 
options         COMPAT_43TTY 
options         COMPAT_FREEBSD32 
options         COMPAT_FREEBSD4 
options         COMPAT_FREEBSD5 
options         COMPAT_FREEBSD6 
options         COMPAT_FREEBSD7 
options         FFS 
options         GEOM_LABEL 
options         GEOM_PART_GPT 
options         HWPMC_HOOKS 
options         INCLUDE_CONFIG_FILE 
options         INET 
options         KBD_INSTALL_CDEV 
options         KDB 
options         KDB_TRACE 
options         KTRACE 
options         MAC 
options         MD_ROOT 
options         MSDOSFS 
options         NFSCLIENT 
options         NFSLOCKD 
options         NFSSERVER 
options         NFS_ROOT 
options         P1003_1B_SEMAPHORES 
options         PREEMPTION 
options         PRINTF_BUFR_SIZE=128 
options         PROCFS 
options         PSEUDOFS 
options         SCHED_ULE 
options         SCSI_DELAY=5000 
options         SMP 
options         SOFTUPDATES 
options         STACK 
options         SYSVMSG 
options         SYSVSEM 
options         SYSVSHM 
options         UFS_ACL 
options         UFS_DIRHASH 
options         UFS_GJOURNAL 
options         USB_DEBUG 
options         _KPOSIX_PRIORITY_SCHEDULING 
options         IPDIVERT 
options         IPFIREWALL 
options         IPFIREWALL_FORWARD 
options         IPFIREWALL_VERBOSE 
options         IPFIREWALL_VERBOSE_LIMIT=100 
options         IPSTEALTH
 
И FreeBSD смогла загрузиться с этим ядром без вопросов. Из двух дисков был организован (в биосе) RAID-1  для установки системы, а два оставшихся подключены as is:
 
mini# mptutil show config 

mpt0 Configuration: 1 volumes, 4 drives 
    volume 0 (465G) RAID-1 OPTIMAL spans: 
        drive 1 (465G) ONLINE <IBM-ESXS ST9500620SS BD26> SAS 
        drive 0 (465G) ONLINE <IBM-ESXS ST9500620SS BD26> SAS 
        spare pools: 0 
    drive da2 (465G) ONLINE <IBM-ESXS ST9500620SS BD26> SCSI-6 
    drive da3 (465G) ONLINE <IBM-ESXS ST9500620SS BD26> SCSI-6
 
Для установки FreeBSD сначала нужно понять, на какой именно диск ее следует устанавливать. В этом вопросе нам поможет camcontrol:
 
#camcontrol devlist
 
<Multiple Card  Reader 1.00>       at scbus2 target 0 lun 0 (da0,pass0) 
<LSILOGIC Logical Volume 3000>     at scbus0 target 6 lun 0 (pass1,da1) 
<IBM-ESXS ST9500620SS BD26>        at scbus0 target 8 lun 0 (pass2,da2) 
<IBM-ESXS ST9500620SS BD26>        at scbus0 target 9 lun 0 (pass3,da3)
 
Итак, устанавливать будем на da1. Поехали:
 
Создаем разметку для схемы MBR:
 
mini#  gpart create -s mbr da1 
da1 created
 
Создадим партицию с типом freebsd:
 
mini# gpart add -t freebsd da1 
da1s1 added
 
На созданной партиции создадим дополнительную разметку для BSD схемы:
 
mini# gpart create -s bsd da1s1 
da1s1 created
 
Создадим партицию для /
 
mini# gpart add -s 1G -t freebsd-ufs da1s1 
da1s1a added
 
Создадим партицию для свопа:
 
mini# gpart add -s 8G -t freebsd-swap da1s1 
da1s1b added
 
Создадим остальные партиции:
 
mini# gpart add -s 10G -t freebsd-ufs da1s1 
da1s1d added
 
mini# gpart add -s 10G -t freebsd-ufs da1s1 
da1s1e added
 
mini# gpart add -s 20G -t freebsd-ufs da1s1 
da1s1f added
 
Запишем загрузчик
 
mini# gpart bootcode -b /boot/mbr da1
 
Сделаем активным первый раздел:
 
mini# gpart set -a active -i 1 da1
 
Посмотрим на результат нашей работы:
 
Mini# gpart show da0 
=>       63  976562113  da0  MBR  (465G) 
         63  976559157    1  freebsd  [active]  (465G) 
  976559220       2956       — free —  (1.5M)
 
mini# gpart show da1s1 
=>        0  976559157  da1s1  BSD  (465G) 
          0    2097152      1  freebsd-ufs  (1.0G) 
    2097152   16777216      2  freebsd-swap  (8.0G) 
   18874368   20971520      4  freebsd-ufs  (10G) 
   39845888   20971520      5  freebsd-ufs  (10G) 
   60817408   41943040      6  freebsd-ufs  (20G)

Отформатируем наши партиции:
 
mini# newfs /dev/da1s1a
mini# newfs -U /dev/da1s1d 
mini# newfs -U /dev/da1s1e 
mini# newfs -U /dev/da1s1f

Смонитруем da1s1a (наш будущий /) в /mnt
 
mini# mount /dev/da1s1a /mnt

Создадим директории:
 
mini# mkdir /mnt/usr 
mini# mkdir /mnt/var 
mini# mkdir /mnt/tmp

Смонтируем остальные разделы в соответствующие вновь созданные директории:
 
mini# mount /dev/da1s1d /mnt/var 
mini# mount /dev/da1s1e /mnt/tmp 
mini# mount /dev/da1s1f /mnt/usr

В нашем случае установка FreeBSD будет производиться по сети с удаленного ftp-сервера, так что мы предварительно настроили сетевую карту для обеспечения серверу доступа в интернет. 

Далее запускаем sysinstall и переходим в пункт Custom. 
В Options изменяем значение Install Root на /mnt 
В Distributions выбираем Developer 
В Media я выбрал установку по сети с ftp-сервера: FTP Passive (ftp2.ru.freebsd.org) 
Commit’им. 

После окончания установки, выходим из sysinstall и изменим корневой каталог:
 
mini# chroot /mnt/ /bin/sh

Перейдем в директорию с конфигом ядра:
 
mini# cd /sys/amd64/conf

Создадим ядро (в нашем случае мы ему дали название MINI), соберем и установим наше минималистичное ядро:
 
mini# config MINI 
mini# cd ../compile/MINI 
mini# make cleandepend && make depend 
mini# make -j8 
mini# make install

Создадим файл /etc/fstab, с содержанием, соответствующим выполненным нами ранее действиям:
 
# Device                Mountpoint      FStype  Options         Dump    Pass#
 
/dev/da0s1b             none         swap   sw              0       0 
/dev/da0s1a             /               ufs      rw              1       1 
/dev/da0s1d            /var           ufs      rw              2       2 
/dev/da0s1e            /tmp          ufs      rw              2       2 
/dev/da0s1f             /usr           ufs      rw              2       2

Меняем рутовый пароль:
 
mini# passwd root


Перегружаемся в нашу свежеустановленную систему:
 
mini# shutdown –r now

Вот такая нелегкая установка системы вышла.


Источник: http://subnets.ru/blog/?p=2196
Категория: Работа с железом | Добавил: oleg (27.05.2012) | Автор: Панфилов Алексей
Просмотров: 2147 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024