Архив

Архив Июнь 2012

Upgrading Gentoo 2007.0 to 10.0

28 Июнь 2012

отсюда http://allmybrain.com/2009/11/10/upgrading-gentoo-2007-0-to-10-0/
So I left all these servers running gentoo a couple years ago. Now, after all this time (and uptime!), I want to install something.

Error:

emerge -av portage

These are the packages that would be merged, in order:

Calculating dependencies |
!!! All ebuilds that could satisfy “>=dev-lang/python-2.5″ have been masked.
!!! One of the following masked packages is required to complete your request:
- dev-lang/python-2.5.4-r3 (masked by: required EAPI -1, supported EAPI 0)
- dev-lang/python-2.6.2-r1 (masked by: required EAPI -2, supported EAPI 0)
- dev-lang/python-2.6.2-r2 (masked by: required EAPI -2, supported EAPI 0)
- dev-lang/python-2.6.4 (masked by: required EAPI -2, supported EAPI 0)
- dev-lang/python-3.1.1-r1 (masked by: required EAPI -2, supported EAPI 0)
- dev-lang/python-2.6.3 (masked by: required EAPI -2, supported EAPI 0)

For more information, see MASKED PACKAGES section in the emerge man page or
refer to the Gentoo Handbook.
(dependency required by “sys-apps/portage-2.1.6.13″ [ebuild])

Hm. Yeah, I’m way out of date.

Solution: I found other sites that talked about forcing a python/portage install but I that sounded a little harsh. Instead, I found a snapshot of portage-2008.0 and replaced my /usr/portage with the contents of that.

cd /usr
rm -rf portage # or mv portage xxx
wget http://gentoo.mirrors.tds.net/gentoo/releases/snapshots/2008.0/portage-2008.0.tar.bz2
tar -xjpf portage-2008.0.tar.bz2
cd /etc/
rm make.profile
ln -s /usr/portage/profiles/default/linux/x86/2008.0 make.profile
emerge -av portage

That took me to portage-2.1.4.4.

From there, I can now go back to current 10.0 portage and emerge -av portage to get up to the current portage state.

Yeah, I really didn’t want to do a re-install.

admin Linux

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 Без рубрики