Проект «SnakeProject» Михаила КозловаРегистрация

Навигация
⇒FreeBSD and Nix⇒

⇐CISCO
⇐Voice(Asterisk\Cisco)
⇐Microsoft
⇐Powershell
⇐Python
⇐SQL\T-SQL
⇐1С
⇐Общая
⇐WEB Разработка
⇐ORACLE SQL \ JAVA
⇐Мото

LSI MegaRAID обновление версии firmware



 
LSI MegaRAID обновление версии firmware


Перед тем как начать УБЕДИТЕЛЬНО ГОВОРЮ: прочитайте сначала статью ПОЛНОСТЬЮ!!!!!!


Сами прошивочки тут:
https://www.broadcom.com/site-search?q=megacli


# mfiutil show adapter
mfi0 Adapter:
    Product Name: LSI MegaRAID SAS 9266-4i
   Serial Number: SV21716100
        Firmware: 23.33.0-0023
     RAID Levels: JBOD, RAID0, RAID1, RAID5, RAID6, RAID10, RAID50
  Battery Backup: present
           NVRAM: 32K
  Onboard Memory: 1024M
  Minimum Stripe: 8K
  Maximum Stripe: 1M


Обновление версии firmware:
# MegaCli -adpfwflash -F mr2208fw.rom -aAll

Обязательно перезагружаемся:
# shutdown -r now

Откат версии firmware:
# MegaCli -adpfwflash -F mr2208fw.rom -NoVerChk -aAll


# mfiutil show adapter
mfi0 Adapter:
    Product Name: LSI MegaRAID SAS 9266-4i
   Serial Number: SV21716100
        Firmware: 23.34.0-0019
     RAID Levels: JBOD, RAID0, RAID1, RAID5, RAID6, RAID10, RAID50
  Battery Backup: present
           NVRAM: 32K
  Onboard Memory: 1024M
  Minimum Stripe: 8K
  Maximum Stripe: 1M


Если что-то пошло не так....

У меня после перезагрузки случилась катастрофа, сервер FreeBSD на zfs отказывался грузиться
Мой пул zfs назывался tank


Чего только не попробовал за 3е суток мата...


Первое, что увидел

При загрузке ошибка:
Trying to mount root from zfs:tank []...
Mounting from zfs:tank failed with error 2 Unknown filesystem


При загрузке еще ошибки:
zfs io error all block copies unavailable warning error reading /boot/loader.conf


Пробую грузиться из пукта 3 при загрузке:

ls /boot

Ага, кто-то обновлял систему и забыл год назад перезагрузиться!!!
Вижу kernel.old, пробую грузиться со старого ядра

unload
load /boot/kernel.old/kernel
load /boot/kernel.old/opensolaris.ko
load /boot/kernel.old/zfs.ko

load -t cache /boot/zfs/zpool.cache

set vfs.root.mountfrom=zfs:tank

set module_path=/boot/kernel.old;/boot/modules

boot


Не вышло, пробуем еще раз:

ls /boot

unload
load /boot/kernel.old/kernel
load /boot/kernel.old/opensolaris.ko
load /boot/kernel.old/zfs.ko

menu

Пункт выбираем предыдущий (kernel) пункт "5"

Грузимся (внезапно прокатило)

Пробую прописать в лоадер:
vi /boot/defaults/loader.conf
zfs_load="YES"
vfs.root.mountfrom="zfs:tank"


zpool list
NAME   SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP  HEALTH  ALTROOT
tank  10.8T  10.3T   522G        -         -    78%    95%  1.00x  ONLINE  -


zfs list
NAME                                USED  AVAIL  REFER  MOUNTPOINT
tank                               7.71T   132G  25.4K  none
tank/ROOT                          1.89G   132G  25.4K  none
tank/ROOT/default                  1.89G   132G  1.89G  /


zpool get bootfs tank
NAME  PROPERTY  VALUE              SOURCE
tank  bootfs    tank/ROOT/default  local


Равнозначно:
zpool set bootfs=tank/ROOT/default tank


cat /etc/rc.conf | grep zfs
zfs_enable="YES"


Не помогло, перезагрузился и ошибки снова
Пробуем по другому, грузимся до ошибок и загружаем диск


mountroot> cd9660:/dev/cd0
Trying to mount root from cd9660:/dev/cd0 []...
g_vfs_done():cd0[READ(offset=32768, length=2048)]error = 6

И тут засада!!!

Вот варианты, как прокатило (разные диски вставлял):
?
mountroot> cd9660:/dev/iso9660/12_0_RELEASE_AMD64_CD rw
mountroot> cd9660:/dev/iso9660/12_0_RELEASE_AMD64_DVD rw
mountroot> cd9660:/dev/iso9660/11_2_RELEASE_AMD64_DVD rw


Или так из 3его пункта:
unload
lsdev
set currdev=cd0
boot


Но есть момент, с диска все в рионли монтируется
Загружайтесь с флешки и делайте моунт корня на rw


Далее поднимаем ssh на LiveCD


ifconfig igb0 192.168.1.9 255.255.255.0
ifconfig igb0 up

route add default 192.168.1.1


mkdir /tmp/etc
mount_unionfs /tmp/etc /etc

passwd root

vi /etc/resolv.conf
nameserver 8.8.8.8

vi /etc/ssh/sshd_config
PermitRootLogin yes


/etc/rc.d/sshd onestart


mount -o rw /

Импортирую и монтирую свой многострадальный пул:
zpool import -R /mnt tank/ROOT/default
mount -t zfs tank/ROOT/default /mnt

 

Кстати о птичках, еще когда вылезет ошибка загрузчика, делаем так:
cant find /boot/zfsloader

gpart bootcode -b /mnt/boot/pmbr -p /mnt/boot/gptzfsboot -i 1 mfid0

Где mfid0 имя устройства, у меня их 4 было, делаем на каждый
Это связано с новой версией загрузчика 12й версии FreeBSD


В общем тупо забираем загрузчик и ядро с нашей флешки
Копируем в систему многострадальную:

rm -rf /mnt/boot/*
cp -R /mnt/boot.orig/* /mnt/boot/
ls -l /mnt/boot/kernel.old/


Грузимся, у меня прошло на ура...


Устати еще кэш как включить на дисках:

mfiutil show volumes
mfi0 Volumes:
  Id     Size    Level   Stripe  State   Cache   Name
 mfid0 ( 2794G) RAID-0      64K OPTIMAL Writes
 mfid1 ( 2794G) RAID-0      64K OPTIMAL Writes
 mfid2 ( 2794G) RAID-0      64K OPTIMAL Writes
 mfid3 ( 2794G) RAID-0      64K OPTIMAL Writes


MegaCli -LDSetProp -Cached -Immediate -Lall -aAll


Set Cache Policy to Cached on Adapter 0, VD 0 (target id: 0) success
Set Cache Policy to Cached on Adapter 0, VD 1 (target id: 1) success
Set Cache Policy to Cached on Adapter 0, VD 2 (target id: 2) success
Set Cache Policy to Cached on Adapter 0, VD 3 (target id: 3) success


mfiutil show volumes
mfi0 Volumes:
  Id     Size    Level   Stripe  State   Cache   Name
 mfid0 ( 2794G) RAID-0      64K OPTIMAL Enabled
 mfid1 ( 2794G) RAID-0      64K OPTIMAL Enabled
 mfid2 ( 2794G) RAID-0      64K OPTIMAL Enabled
 mfid3 ( 2794G) RAID-0      64K OPTIMAL Enabled


Все, на этом завершаем

 


Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

© Snakeproject.ru создан в 2013 году. При копировании материала с сайта - оставьте ссылку.


Яндекс.Метрика

Goon Каталог сайтов Рейтинг@Mail.ru