Архив

Архив раздела ‘Без рубрики’

Mdadm полезные команды

28 Июнь 2012

Стащил с http://linux.mkrovlya.ru/book/%D0%BA%D0%BE%D1%80%D0%BE%D1%82%D0%BA%D0%BE-%D0%BE-soft-raid

Подборка заметок о Soft RAID с opennet.ru [1].

Добавление программного RAID 1 раздела на Linux сервер.
Имеем два дополнительных диска:
/dev/hdb (/dev/hdb1 - 40 GB)
/dev/hdc (/dev/hdc1 - 40 GB)

Создаем RAID 1:
mdadm –create /dev/md0 –level=1 –raid-devices=2 /dev/hdb1 /dev/hdc1

Смотрим статус:
cat /proc/mdstat

Создаем файловую систему на RAID разделе:
mkfs.ext3 /dev/md0

Настраиваем монтирование при загрузке (в /etc/fstab):
/dev/md0 /data2 ext3 defaults 0 0

Как заменить сбойный диск в программном RAID1 в Linux
Программный RAID1 /dev/md0 включает в себя разделы /dev/sda1 и /dev/sdb1.
Задача заменить диск /dev/sdb.
Диагностику смотрим через (если вместо [UU] видим [U_], то целостность одного из дисков нарушена):
cat /proc/mdstat

Помечаем раздел как сбойный:
mdadm –manage /dev/md0 –fail /dev/sdb1

Отключаем раздел (удаляем из RAID1)
mdadm –manage /dev/md0 –remove /dev/sdb1

Выключаем машину, меняем диск.

Создаем через fdisk идентичные разделы, или копируем структуру первого диска /dev/sda:
sfdisk -d /dev/sda | sfdisk /dev/sdb

Добавляем раздел в RAID1 массив:
mdadm –manage /dev/md0 –add /dev/sdb1

Как перенеси существующую Linux систему на RAID1 добавив второй диск
/dev/sda - диск с установленной ОС
/dev/sdb - новый диск для зеркала

Клонируем информацию о разделах на новый диск:
sfdisk -d /dev/sda | sfdisk /dev/sdb

Создаем RAID1, но первый диск пока не трогаем, пометив его отсутствующим:
mdadm –create /dev/md0 –level 1 –raid-devices=2 missing /dev/sdb1
mdadm –create /dev/md1 –level 1 –raid-devices=2 missing /dev/sdb2
и т.д. для всех существующих разделов.

Создаем ФС:
mkfs.ext3 /dev/md0
mkfs.ext3 /dev/md1

Монтируем и копируем данные в RAID:
mount /dev/md0 /mnt
cp -dpRx / /mnt
mount /dev/md1 /mnt/var
cp -dpRx /var /mnt

Меняем устройство для загрузки, для Grub в /mnt/boot/grub/menu.lst:
title Custom Kernel 2.6.11.7
root (hd0,0)
kernel /boot/vmlinuz-2.6.11.7 root=/dev/md0 md=0,/dev/sda1,/dev/sdb1 ro
boot

title Custom Kernel 2.6.11.7 (RAID Recovery)
root (hd1,0)
kernel /boot/vmlinuz-2.6.11.7 root=/dev/md0 md=0,/dev/sdb1 ro
boot

Устанавливаем Grub на второй диск:
grub-install /dev/sda

Если при установке выдается ошибка:
/dev/sda does not have any corresponding BIOS drive.

Нужно выполнить
grub-install –recheck /dev/sda

Или установить вручную:
grub
grub: device (hd0) /dev/sdb
grub: root (hd0,0)
grub: setup (hd0)
grub: quit

cp -dp /mnt/etc/fstab /etc/fstab
cp -dp /mnt/boot/grub/menu.lst /boot/grub

Перезагружаемся (второй диск) и проверяем все ли работает, если да - подключаем старый диск в RAID:

mdadm –add /dev/md0 /dev/sda1
mdadm –add /dev/md1 /dev/sda2

cat /proc/mdstat

Мониторинг и восстановление программного RAID в Linux
Управление программными RAID1-массивами в RHEL

Мониторинг состояния

Информация о всех RAID-массивах:
# more /proc/mdstat
или
# cat /proc/mdstat
или
# watch -n .1 cat /proc/mdstat

Информация о конкретном дисковом разделе:
# mdadm -E /dev/sd<1-10>
например:
# mdadm -E /dev/sdb2

Восстановление функционирования

Восстановление функционирования (rebuild) разделов диска по одному после
однократного “несмертельного” сбоя:
# mdadm -a /dev/md<0-6> /dev/sd<1-10>
например:
# mdadm -a /dev/md0 /dev/sdb1
Нужно быть аккуратным с номерами разделов
В случае ошибки, удалить компонент из RAID командой:
# mdadm -r /dev/md0 /dev/sdb1
получается не всегда - устройство может быть занято.

Замена диска

1. Выключить компьютер и заменить диск

2. Включить компьютер и определить имеющиеся на обоих дисках разделы:
# fdisk /dev/sd -l

3. С помощью fdisk создать на новом диске разделы, идентичные оригиналу
Необходимо пометить нужный раздел нового диска (sda1 или sdb1) как загрузочный
до включения в зеркало.
Swap-разделы не подлежат зеркалированию в программном RAID

4. Выполнить Мониторинг состояния и Восстановление функционирования

Настройка оповещения

Мониторинг выполняется с помощью crond ежечасно.
В папку /etc/cron.haurly помещен файл mdRAIDmon, содержащий команду:
# mdadm –monitor –scan -1 –mail=postmaster@domain.name.ru

Для проверки рассылки сообщения добавляется ключ –test:
# mdadm –monitor –scan -1 –mail=postmaster@domain.name.ru –test

Помещая файл задания в папку, необходимо установить права доступа на выполнение
Если нужно чаще, самое простое, добавьте в /etc/crontab строку, используя нотацию с “/”, например:
*/5 * * * * root run-parts /etc/cron.my5min

Конечно, можно попробовать и другие варианты планирования заданий с atd или batch.

Создайте папку /etc/cron.my5min и поместите туда файл mdRAIDmon
C имитацией отказа диска мне было проще - сервер SR1425BK1 - с корзиной HotSwap

admin Linux, Без рубрики

Xenserver backup script

7 Июнь 2012

Скрипт для бекапа виртуальных машин на Xenserver от Andy Burton http://blog.andyburton.co.uk/index.php/2009-11/updated-citrix-xenserver-5-5-automatic-vm-backup-scripts/

admin Без рубрики

Crontab xenserver

7 Июнь 2012

http://knowledgelayer.softlayer.com/questions/193/How+to+run+scripts+automatically+using+crontab.

How to run scripts automatically using crontab.
Would you like to…
Print this page
Email this page
Add to favorites
You can use the crontab to automate the running of scripts on your server. Cron is started automatically on entering multi-user run levels. To view your crontab, log in as the root user and run:

#crontab -l

The structure of the crontab entries is:

* * * * * command to be executed
- - - - -
| | | | |
| | | | +—– day of week (0 - 6) (Sunday=0)
| | | +——- month (1 - 12)
| | +——— day of month (1 - 31)
| +———– hour (0 - 23)
+————- min (0 - 59)

So for example:

* * * * * /sbin/ping -c 1 192.168.0.1 > /dev/null

This will ping 192.168.0.1 once each minute continuously. The > /dev/null portion redirects standard output to /dev/null so that the root user is only emailed if there is an error running the command. You can change this to > /dev/null 2>&1 to also trash error output.

To edit your crontab, run:
#crontab -e

Note: The text editor you use will be defined by the EDITOR variable. If you want to use a simple text editor, run the following command before editing the crontab:

# export EDITOR=nano

admin Без рубрики

Postgresql, доступ к базе через консоль

10 Январь 2012

Запускаем psql
Меняем базу: \c названиеБазы

Список всех пользователей и их уровни доступа: \du
Краткая информация о всех таблицах в текущей базе данных: \dt

admin Без рубрики

Как заставить postgresql перечитать конфигурацию, без перезагрузки сервера

10 Январь 2012

Запускаем через sudo от пользователя postgres
sudo -u postgres pg_ctl -D /var/lib/postgresql/9.0/data/ reload

Если запустить от рута - получим
pg_ctl: cannot be run as root

The command “pg_ctl -D $PGDATA reload” will cause the server to reload
the contents of pg_hba.conf, assuming PGDATA is appropriately set.
Several other methods are possible, all of which ultimately amount to
sending the signal SIGHUP to the postmaster.

admin Без рубрики

Postgres reload

17 Октябрь 2011

1. Postgres User:

su - postgres
2. Make Changes:

vi /var/lib/pgsql/data/pg_hba.conf
3. Reload Configs:

pg_ctl reload -D /var/lib/pgsql/data/

http://www.question-defense.com/2008/09/30/make-pg_hbaconf-changes-activate-without-restarting-postgres

admin Без рубрики

Redmine + nginx

3 Август 2011

делал по этим статьям

http://16pro.net/blog/ustanovka-redmine-nginx-thin-na-gentoo

http://www.redmine.org/projects/redmine/wiki/HowTo_configure_Nginx_to_run_Redmine

Все завелось.

admin Без рубрики , , ,

Карикатур

2 Август 2011

Перенос системы на другой HDD, другого размера.

1 Август 2011

На новом винте (/dev/sdb) создаем разделы, создаем файловую систему, монтируем новый диск. Например в /mnt/sdb3
Со старого винта копируем все, кроме /proc
cp -fpr /{то что надо} /mnt/sdb3
mkdir -p /mnt/sdb3/proc создадим папку для proc

Далее, копируем загрузчик (GRUB)
grub> root (hd1,0) (указание расположения раздела с /boot)
grub> setup (hd1) (установка GRUB в MBR)
grub> quit

admin Без рубрики ,

Как добавить алиас (alias) на интерфейс

1 Август 2011

ifconfig eth0:0 x.x.x.x - поднять
ifconfig eth0:0 down - опустить

admin Без рубрики