четверг, 21 ноября 2013 г.

LSi + Debian аппаратный RAID

Встал вопрос как подружить сиих зверей и немного помониторить состояние аппаратного RAID'а

Как всегда все оказалось просто до безобразия, кое я и не преминул устроить.
Debian Lenny: /etc/apt/sources.list
deb http://jonas.genannt.name/debian lenny restricted

Debian Squeeze: /etc/apt/sources.list
deb http://jonas.genannt.name/debian squeeze restricted

Archive Key:
wget -O - http://jonas.genannt.name/debian/jonas_genannt.pub | apt-key add -


Поставим
apt-get update
apt-cache search 3ware
apt-get install 3ware-3dm2-binary 3ware-cli-binary

Заюзаем
tw_cli info 
tw_cli info dev_ctl_here


Нагуглено в:
https://wiki.debian.org/LinuxRaidForAdmins
http://jonas.genannt.name/
http://enlook.wordpress.com/2012/12/11/howto-installing-3ware-tw_cli-raid-monitoring-software-utility/

среда, 18 сентября 2013 г.

Замена загнувшегося HDD

Очередной косяк с винтами у моего любимого хостера.
Достаю из черновиков старую статью и публикую краткий мануал по действиям в этой ситуации.
Мне повезло и в RAID 1 Массиве загнулся только 1 винт из 2х. Такое случается, не смотря на обильное наличие практик нормальной работы обоих винтов и случаев парной смерти .

Краткий мануал действий на следующий раз.
Что имеем изначально 2 диска по 3Tb, GPT, RAID 1, debian, grub2, остальное вроде не важно.
Что случилось - /dev/sda стал совсем неживым
smartctl --all /dev/sda ругается, что ничего не может прочитать с диска
cat /proc/mdstat показывает что в рейде живых разделов из /dev/sdaX нет

Что нужно делать
1) проверить целостность бекапов на внешнем сервере (если они есть, если нет - задуматься над необходимостью таковых, пока не поздно)
2) отцепить от рейда сбойный диск
на случай если еще не помечен как сбойный:
# mdadm --manage /dev/mdY --fail /dev/sdaX 
собственно отцепляем
# mdadm /dev/mdY -r /dev/sdaX
естественно операция проводится столько раз сколько у нас разделов 
3) определяем серийник умершего или живого диска
smartctl --all /dev/sda |grep Serial
и заполняем заявку в саппорт на замену диска
Я дополнительно попросил проверить возможность загрузки с оставшегося диска и установить порядок загрузки дисков, на что мне любезно ответили согласием и все сделали согласно моей просьбе.
4) после замены диска биос успешно пропустил загрузку с нового диска и прогрузился со старого обозначив его как sda (но это я так понимаю сказывается умность udev'а)
5) клонируем GPT. можно и одной строкой, но я решил немного подстраховаться и сохранить себе ее еще и в файл
# sgdisk --backup=gpttable /dev/sda
# sgdisk --load-backup=gpttable /dev/sdb
получил склонированную таблицу и ее копию в файле
Поменяем UUID новому диску
# sgdisk -G /dev/sdb
Если разделы не увидились, попросим ядро перитать таблицу
# sfdisk -R /dev/sdb
Вернем разделы в рэйд
# mdadm /dev/mdY -a /dev/sdbX
Посмотрим за процессом
#watch cat /proc/mdstat
Дождавшись окончания процесса, принимаемся за загрузчик
Обновим таблицу устройств
# grub-mkdevicemap
попросим груба на новый диск
# grub-install /dev/sdb

На этом все, можно дышать, можно отсыпаться. А можно ребутнуть машину и проверить, что все грузится правильно.



понедельник, 4 февраля 2013 г.

Разборки с proxmox

http://wiki.autosys.tk/proxmox.%D0%A7%D1%82%D0%BE-%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C-%D0%B5%D1%81%D0%BB%D0%B8-proxmox-%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B8%D1%82-%D1%87%D1%82%D0%BE-%D0%BC%D0%B0%D1%88%D0%B8%D0%BD%D0%B0-locked.ashx -Что делать если proxmox говорит, что машина locked -

# qm unlock <vmid>


http://stpuser.ru/virtualization/proxmox-ve/31-rezervnoe-kopirovanie-virtualnyx-mashin-proxmox-ve - Резервное копирование виртуальных машин Proxmox VE

http://forum.proxmox.com/threads/2456-Stopping-proxmox-virtualization-services-how - Stopping proxmox virtualization services
/etc/init.d/pvedaemon
/etc/init.d/vz
/etc/init.d/qemu-server



Почитать про мониторинг сервера

http://rez0n.lectra.me/?p=569  - Установка системы мониторинга Zabbix на Debian 6.0
http://www.nagios.com/solutions/debian-monitoring - Debian Monitoring With Nagios
http://mydebianblog.blogspot.ru/2006/07/blog-post_24.html - Мониторинг состояния устройств в Linux
http://linuxguru.ru/monitoring/ustanovka-munin-v-debian-squeeze/ - Установка Munin в Debian для мониторинга сервера.
http://mmonit.com/monit/ - Monit is a free open source utility for managing and monitoring, processes, programs, files, directories and filesystems on a UNIX system. Monit conducts automatic maintenance and repair and can execute meaningful causal actions in error situations. Сторонний сервис с СМС оповещением.
http://habrahabr.ru/qa/26853/ - Мониторинг одиночного сервера Debian - Советы

Мониторинг состояния жёсткого диска

подробно тут http://wiki.debian.org/ru/smart

GPT перенос таблицы разделов на новый винт


Стандартные утилиты типа sfdisk GPT не поддерживают. Однако свободное человечество озадачилось проблемой и родило новый набор утилит gdisk. Это как fdisk, но только для GPT.
Пусть у нас есть два диска /dev/sda и /dev/sdb. Задача – перенести табилцу разделов с sda на sdb Установим gdisk любым удобным способом и сделаем следующее:
  1. Перенесем таблицу с sda: sgdisk -R /dev/sdb /dev/sda
  2. GUID’ы будут одинаковые, поэтому пробежимся по ним опцией -G: sgdisk -G /dev/sdb
Все, на новом диске таблица идентичная старому.
Нагуглено в http://binarylife.ru/2011/11/07/%D0%BA%D0%BB%D0%BE%D0%BD%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D1%8B-%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB%D0%BE%D0%B2-%D0%BD%D0%B0-gpt-%D0%B4%D0%B8%D1%81/

hetzner.de проблемы с жесткими дисками

В связи с очередным сбоем на хетснеровских серверах раскопал и вернул черновик в строй.

Сегодня в выходной меня разбудили и сообщили, что сервер, расположенный у любимого мною хостера совсем молчит и что это не есть хорошо, поскольку он не партизан в плену, а боевой сервер.
Краткое расследование показало проблемы с /dev/sda
=============================================================
Feb  3 11:50:36 hz kernel: ata1.00: exception Emask 0x0 SAct 0x1c SErr 0x0 action 0x0
Feb  3 11:50:36 hz kernel: ata1.00: irq_stat 0x40000008
Feb  3 11:50:36 hz kernel: ata1.00: failed command: READ FPDMA QUEUED
Feb  3 11:50:36 hz kernel: ata1.00: cmd 60/f8:10:a8:2c:18/00:00:a8:00:00/40 tag 2 ncq 126976 in
Feb  3 11:50:36 hz kernel:         res 41/40:f8:98:2d:18/00:00:a8:00:00/00 Emask 0x409 (media error) <F>
Feb  3 11:50:36 hz kernel: ata1.00: status: { DRDY ERR }
Feb  3 11:50:36 hz kernel: ata1.00: error: { UNC }
Feb  3 11:50:37 hz kernel: ata1.00: configured for UDMA/133
Feb  3 11:50:37 hz kernel: ata1: EH complete
Feb  3 11:50:41 hz kernel: ata1.00: exception Emask 0x0 SAct 0x4 SErr 0x0 action 0x0
Feb  3 11:50:41 hz kernel: ata1.00: irq_stat 0x40000008
Feb  3 11:50:41 hz kernel: ata1.00: failed command: READ FPDMA QUEUED
Feb  3 11:50:41 hz kernel: ata1.00: cmd 60/f8:10:a8:2c:18/00:00:a8:00:00/40 tag 2 ncq 126976 in
Feb  3 11:50:41 hz kernel:         res 41/40:f8:98:2d:18/00:00:a8:00:00/00 Emask 0x409 (media error) <F>
Feb  3 11:50:41 hz kernel: ata1.00: status: { DRDY ERR }
Feb  3 11:50:41 hz kernel: ata1.00: error: { UNC }
Feb  3 11:50:41 hz kernel: ata1.00: configured for UDMA/133
Feb  3 11:50:41 hz kernel: ata1: EH complete
=============================================================
# hdparm -t /dev/sda
 /dev/sda:
 Timing buffered disk reads:  28 MB in  3.07 seconds =   9.13 MB/sec
=============================================================