Macierz read-only md1 : active (auto-read-only) raid1

Czasem po reboocie, zmianie płyty lub czymś innym macierz wstaje w trybie read-only:
# cat /proc/mdstat
Personalities : [raid1]
md1 : active (auto-read-only) raid1 sda2[0] sdb2[1]
449321848 blocks super 1.2 [2/2] [UU]
resync=PENDING

i wymaga ręcznej ingerencji. Trzeba wydać komendę:

# mdadm –readwrite /dev/md1

# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sda2[0] sdb2[1]
449321848 blocks super 1.2 [2/2] [UU]
[>………………..] resync = 3.6% (16378048/449321848) finish=43.1min speed=167264K/sec

Mysql 5.5 instalacja ze źródeł

Nie ma dla Debiana gotowej paczki z mysql 5.5, dlatego trzeba sobie skompilować, jak dawniej. Pobieramy ze strony http://dev.mysql.com/downloads/mysql/ aktualne źródło (Select Platform -> Source code).
Do kompilacji będą potrzebne:
apt-get install make cmake bison g++
Rozpakowujemy źródła:
tar xzf mysql-5.5.16.tar.gz
cd mysql-5.5.16
cmake .
make
make install (zainstaluje do /usr/local/mysql)
lub make install DESTDIR=”/dowolny/katalog”
make install scripts
Dodajemy użytkownika i grupę:
groupadd mysql
useradd -r -g mysql mysql
Zmieniamy właściciela
chown -R mysql.mysql /usr/local/mysql
Tworzymy tabele z uprawnieniami skryptem:
scripts/mysql_install_db –user=mysql
Uruchamiamy bazę poprzez:
/usr/local/mysql/bin/mysqld_safe
Standardowo my.cnf będzie czytany z katalogu /etc/mysql/my.cnf
Jeśli chcemy aby był używany inny plik/katalog uruchamiamy mysqla tak:
/usr/local/mysql/bin/mysqld_safe –defaults-file=/etc/mysql/my_ok_22.cnf

Podmiana dysków na większe – programowy raid1 – migracja

Mamy macierz raid1 na dwóch dyskach. Chcemy wymienić bezpoleśnie te dyski na większe, powiększając partycję.
Wyciągamy jeden z dysków, wkładamy w jego miejsce większy. Bootujemy system ze starego. Mamy:

# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sda3[0]
292977280 blocks [2/1] [U_]

md0 : active raid1 sda2[0]
29294400 blocks [2/1] [U_]

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0004ccb1

Device Boot Start End Blocks Id System
/dev/sda1 1 123 987966 82 Linux swap / Solaris
/dev/sda2 124 3771 29302560 fd Linux raid autodetect
/dev/sda3 3772 40245 292977405 fd Linux raid autodetect

Na nowym dysku tworzymy partycje. Takie same, poza ostatnią, która ma być większa:
Disk identifier: 0x0416460b

Device Boot Start End Blocks Id System
/dev/sdb1 1 123 987966 83 Linux
/dev/sdb2 124 3771 29302560 fd Linux raid autodetect
/dev/sdb3 3772 72949 555664253 fd Linux raid autodetect

Dodajemy partycje na nowym dysku do macierzy:
# mdadm –manage –add /dev/md0 /dev/sdb2

md0 : active raid1 sdb2[2] sda2[0]
29294400 blocks [2/1] [U_]
[=============>…….] recovery = 69.4% (20351232/29294400) finish=2.0min speed=73232K/sec

# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sda3[0]
292977280 blocks [2/1] [U_]

md0 : active raid1 sdb2[1] sda2[0]
29294400 blocks [2/2] [UU]

unused devices:

# mdadm –manage –add /dev/md1 /dev/sdb3
mdadm: added /dev/sdb3

Czekamy na odbudowanie macierzy:

# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdb3[2] sda3[0]
292977280 blocks [2/1] [U_]
[>………………..] recovery = 0.1% (296704/292977280) finish=49.3min speed=98901K/sec

md0 : active raid1 sdb2[1] sda2[0]
29294400 blocks [2/2] [UU]

# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdb3[2] sda3[0]
292977280 blocks [2/1] [U_]
[====>…………….] recovery = 20.6% (60453248/292977280) finish=44.1min speed=87699K/sec

md0 : active raid1 sdb2[1] sda2[0]
29294400 blocks [2/2] [UU]

unused devices:

Teraz jeszcze zapisać GRUB na nowym dysku:
# grub-install /dev/sdb
# reboot
Wyciągamy drugi mały dysk, zamieniamy na pierwszy, bootujemy z drugiego.
Mamy teraz:
# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdb3[0] sda3[1]
292977280 blocks [2/2] [UU]

md0 : active raid1 sdb2[0] sda2[1]
29294400 blocks [2/2] [UU]
Zwiększamy macierz do wielkości partycji:
# mdadm –grow /dev/md1 –size=max
Odbudowuje się:
# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 sdb3[0] sda3[1]
555664128 blocks [2/2] [UU]
[==========>……….] resync = 52.7% (293091200/555664128) finish=115.1min speed=37973K/sec

md0 : active raid1 sdb2[0] sda2[1]
29294400 blocks [2/2] [UU]
Gdy skończy, powiększamy system plików. Do tego nie trzeba nawet odmontowywać partycji.
Jest:
# df
/dev/md1 310411136 271870964 22777468 93% /home
Robimy:
# resize2fs /dev/md1
resize2fs 1.41.3 (12-Oct-2008)
System plików /dev/md1 jest zamontowany pod /home; wymagana zmiana rozmiaru w locie
old desc_blocks = 18, new_desc_blocks = 34
Wykonywanie zmiany rozmiaru w locie /dev/md1 na 138916032 (4k) bloków.
System plików na /dev/md1 ma teraz 138916032 bloków.

Patrzymy jak rośnie wielkość partycji:
/dev/md1 321248412 271870896 33064444 90% /home
/dev/md1 342535984 271870828 53271004 84% /home
/dev/md1 450521784 271874336 155769272 64% /home
Po kilku minutach:
/dev/md1 546944168 271873912 247295240 53% /home
Gotowe.

Zmiana wielkości partycji LVM

(system plików ext4, opcja -r od razu uruchamia resize2fs)
# lvresize -L +1G -r /dev/bla/waroot
fsck z pakietu util-linux-ng 2.17.2
e2fsck 1.41.12 (17-May-2010)
/dev/mapper/bla-waroot: czysty, 11/1310720 plików, 126289/5242880 bloków
Extending logical volume waroot to 21,00 GiB
Logical volume waroot successfully resized
resize2fs 1.41.12 (17-May-2010)
Proszę uruchomić najpierw ‚e2fsck -f /dev/dm-6’.
fsadm: Resize ext4 failed
fsadm failed: 1

# e2fsck -f /dev/dm-6
e2fsck 1.41.12 (17-May-2010)
Przebieg 1: Sprawdzanie i-węzłów, bloków i rozmiarów
Przebieg 2: Sprawdzanie struktury katalogów
Przebieg 3: Sprawdzanie łączności katalogów
Przebieg 4: Sprawdzanie liczników odwołań
Przebieg 5: Sprawdzanie sumarycznych informacji o grupach
/dev/dm-6: 11/1310720 plików (0.0% nieciągłych), 126289/5242880 bloków

# resize2fs /dev/bla/waroot
resize2fs 1.41.12 (17-May-2010)
Zmiana rozmiaru systemu plików /dev/bla/waroot na 5505024 (4k) bloków.
System plików na /dev/bla/waroot ma teraz 5505024 bloków.

Xen 4.0 Domain ‚name’ does not exist

Zgodnie z instrukacjami zrobiłem w name.cfg linię:
vif = ['type=ioemu, bridge=xenbr0']
ale pojawiał się błąd:
Domain 'name' does not exist
pomogła zmiana powyższego na:
vif = [ ]

Pełny plik konfiguracyjny to:

import os, re
arch = os.uname()[4]
if re.search('64', arch):
arch_libdir = 'lib64'
else:
arch_libdir = 'lib'

kernel = "/usr/lib/xen-4.0/boot/hvmloader"

builder='hvm'

memory = 512
shadow_memory = 8
name = "name"
vif = [ ]
disk = [ 'phy:/dev/bla/partwin,hda,w' ]
device_model = '/usr/' + arch_libdir + '/xen/bin/qemu-dm'
boot="dc"
sdl=0
vnc=1
vncconsole=1
vncpasswd='haslo'
stdvga=0
serial='pty'
usbdevice='tablet'

IBM bladecenter sterowanie zasilaniem przez SSH

Można sprawdzić czy dany blade jest włączony:
system> power -state -T system:blade[4]
Włączenie blade’a o numerze 5:
system> power -on -T system:blade[5]
Wyłączenie blade’a:
system> power -off -T system:blade[5]
Restart blade’a:
system> power -cycle -T system:blade[2]

Można też zmienić otoczenie np.
system> env -T system:blade[2]
i teraz tylko:
system:blade[2]> power -state
Off

ipad jak przywrócić ustawienia fabryczne?

Podobno nie da się przywrócić ustawień fabrycznych w tablecie ipad2 bez komputera.
Używając komputera należy uruchomić aplikację itunes (nie działa pod linuksem), wejść w ‚Podsumowanie’ i kliknąć w ‚Odtwórz’. Bardzo intuicyjne, prawda?
Poza tym przywracanie trwa ponad godzinę, bo przy okazji system wymaga dokonania aktualizacji firmware.
Porównując, w Galaxy Tab, przywracanie ustawień fabrycznych trwa niecałą minutę i jest do wybrania z menu ustawień w samym tablecie.