пятница, марта 16, 2012

KVM performance

Рекомендации на основе данных интернетов и IBM KVM Best Practicies:
  1. На хосте сделать scheduler deadline.
  2. На гестах сделать scheduler noop.
То есть, хост:
/sbin/grubby --update-kernel=`/sbin/grubby --default-kernel` --args elevator=deadline
for f in /sys/block/sd*/queue/scheduler ; do echo 'deadline' > $f ; done
Гесты:
/sbin/grubby --update-kernel=`/sbin/grubby --default-kernel` --args elevator=noop
echo 'noop' > /sys/block/vda/queue/scheduler

вторник, января 31, 2012

SSL-only .htaccess

Отличная (по-моему) находка:
  1. В общей конфигурации apache сделать что-то вроде

    <VirtualHost blablabla:80>
    AccessFileName .htaccess
    </VirtualHost>

    <VirtualHost blablabla:443>
    AccessFileName .htaccess.ssl .htaccess
    </VirtualHost>
  2. После этого можно получить .htaccess, который выполняется только по SSL. Внимание: если в директории есть .htaccess И .htaccess.ssl, то по SSL используется только последний.

среда, мая 05, 2010

VLC, мать его

Чтобы не забыть, как этой странной штукой пользоваться:

vlc -I rc movie.avi -vvv --sout '#transcode{venc=x264{qp=15},vcodec=h264,vb=2000,acodec=none,sfilter="logo{file=egee.png,transparency=204,x=0,y=0}:logo{file=wlcg.png,transparency=230,x=0,y=68}:logo{file=rdig.png,transparency=250,x=872,y=0}"}:std{access=file,mux=ffmpeg{mux=avi},dst=new_movie.avi}'

среда, января 13, 2010

Fedora 12 на ноутбуке

  1. Установить систему.
  2. Подключить rpmfusion.org (http://rpmfusion.org/Configuration):
    rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
  3. Установить Adobe repo:
    rpm -Uvh http://linuxdownload.adobe.com/adobe-release/adobe-release-i386-1.0-1.noarch.rpm
  4. Установить flash и acrobat reader:
    yum install flash-plugin nspluginwrapper libcurl AdobeReader_enu
    mozilla-plugin-config -i -g -v
  5. Установить аудиовидеозапчасти:
    yum install a52dec alsa-plugins-freeworld-a52 alsa-plugins-freeworld-lavcrate audacious-plugins-freeworld\* audacity-freeworld faac faad2 faad2-libs ffmpeg ffmpeg-libs gstreamer-ffmpeg gstreamer-plugins-bad gstreamer-plugins-bad-extras gstreamer-plugins-ugly h264enc k3b-extras-freeworld lame lame-libs mac mac-libs mencoder mozilla-vlc mp3gain mplayer picard-freeworld twolame twolame-libs vlc vlc-nox xine-lib-extras-freeworld xine
  6. Установить нормальный рендеринг шрифтов:
    yum install freetype-freeworld
  7. Установить драйвера nvidia:
    yum install akmod-nvidia
    добавить опции ядра:
    rdblacklist=nouveau vga=0x318
  8. Исправить поведение звука.
    добавить опции ядра:
    snd_hda_intel.power_save=0
    отредактировать /etc/pulse/system.pa, сделать чтобы было:
    ...
    load-module module-hal-detect tsched=0
    ...
  9. Скопировать /usr/share/fonts/msttcorefonts с предыдущей установки или другой системы. Убедиться, что fc-list их видит.
  10. Установить wine, ntfs-3g
  11. Дописать нужные дефолтные домены в /etc/dhclient-XXX.conf:
    append domain-name " sinp.msu.ru";
    append domain-name " ngrid.ru";
    XXX для каждого интерфейса
  12. Установить tpb на всякий случай (?)
  13. Через gnome-keybinding-properties добавить команду для запуска терминала и повесить ее на кнопу ThinkVantage
  14. Установить шрифты:
    yum install larabie-\* liberation-\* mgopen-\* terminus-fonts
  15. Настроить жесткий диск от load cycles:
    echo "hdparm -B 254 /dev/sda" >> /etc/rc.d/rc.local
    curl http://bitbucket.org/abbot/shredder/raw/tip/pm/power.d/49-hdd-power > /etc/pm/power.d/49-hdd-power
    chmod 755 /etc/pm/power.d/49-hdd-power
    restorecon /etc/pm/power.d/49-hdd-power
To be continued...

среда, апреля 29, 2009

Как чинить совсем развалившийся mdadm raid5

Недавно приключилась неприятность: в работащем raid5 в процессе rebuild'а после замены диска вылетел второй диск. Rebuild был завершен где-то на 90%. Ценные данные на массиве занимали только первую треть диска, а значит были теоретически спасены. Но raid не запускается, т.к. нет двух дисков. Как быть?

Рецепт спасения следующий:
0. Данные действия могут быть деструктивными для ваших данных. Настоятельно рекомендуется скопировать все диски, и эксперименты по восстановлению проводить на копии.
1. Проверить параметры старого raid. Для этого сделать mdadm -E на любой из имеющихся дисков.
2. Собрать raid в деградировавшем состоянии. Для этого выполнить:
mdadm --create /dev/md0 -n XXX -c YYY -l 5 -p ZZZ --assume-clean /dev/sda1 /dev/sdb1 /dev/sdc1 missing /dev/sde1
Здесь XXX - число дисков в raid, YYY - размер chunk'а, ZZZ - используемая геометрия, все эти параметры от старого raid'а выдает mdadm -E. Важно соблюсти порядок дисков таким же, какой был в оригинальном массиве, и поставить missing на месте именно сбойного диска.
3. Готово. Можно проверить целостность данных, и "доткнуть" оставшийся диск, чтобы запустить repair на восстановленный raid.

пятница, апреля 17, 2009

Как установить CentOS 5.3 на софтверный Partitionable RAID1

  1. Установить CentOS используя стандартный инсталлятор на диск sda. При разбивке диска оставить немного места (хотя бы один юнит) в самом хвосте диска незанятым.
  2. Загрузиться с диска в Rescue режим. Систему не искать и не монтировать.
  3. Собрать рейд:
    mdadm --create --level=1 --raid-devices=2 /dev/md_d0 /dev/sda missing
  4. Воткнуть /dev/sdb в получившийся рейд, чтобы он ребилдился:
    mdadm --add /dev/md_d0 /dev/sdb
    Убедиться, проверив /proc/mdstat, что рейд стал ребилдиться.
  5. Смонтировать руками систему в состояние, пригодное для chroot и сделать chroot:
    mkdir /mnt/sysimage
    mount /dev/md_d0p1 /mnt/sysimage
    mount -o bind /dev /mnt/sysimage/dev
    mount -o bind /selinux /mnt/sysimage/selinux
    mount -t proc none /mnt/sysimage/proc
    mount -t sysfs none /mnt/sysimage/sys
    chroot /mnt/sysimage
  6. Подготовить систему к тому, что она будет жить на рейде.
    Сначала сделать /etc/mdadm.conf:
    mdadm --examine --scan > /etc/mdadm.conf
    В результирующем файле заменить /dev/md0 на /dev/md_d0
    Отредактировать /etc/fstab, заменить там монтирование по LABEL на явное монтирование устройств типа /dev/md_d0p1, ...
    Отредактировать /etc/grub.conf, заменить root=LABEL=... на root=/dev/md_d0p1
  7. Пропатчить mkinitrd, патч взять здесь:
    cd /sbin
    cp mkinitrd mkinitrd.dist
    patch -p0 < /tmp/mkinitrd-md_d0.patch
  8. Запрещаем обновлять mkinitrd, для этого в /etc/yum.conf дописываем exclude=mkinitrd*
  9. Делаем новый initrd:
    cd /boot
    mv initrd-2.6.18-128.el5.img initrd-2.6.18-128.el5.img.bak
    mkinitrd /boot/initrd-2.6.18-128.el5.img 2.6.18-128.el5
  10. Проверяем /proc/mdstat, как только рейд собрался - можно нажимать Ctrl-D до упора, пока система не перезагрузится.
Готово. Теперь система будет грузиться с partitionable RAID1, отремонтировать который гораздо проще, чем обычный не partitionable RAID.

понедельник, января 19, 2009

hotswap disks

echo '- - -' > /sys/class/scsi_host/hostX/scan
echo x > /sys/bus/scsi/devices/X:0:0:0/delete

This page is powered by Blogger. Isn't yours?