Przy próbie odtworzenia bazy mysql z dumpa pojawia się taki błąd:
ERROR 1005 (HY000) at line 32: Can't create table './tabl/tabl_entry.frm' (errno: 150)
Tabela zawiera klucz do innej tabeli, która jeszcze nie istnieje:
CONSTRAINT `tabl_entry_FK_1` FOREIGN KEY (`author_id`) REFERENCES `tabl_user` (`id`),
Aby mysql nie sprawdzał tego należy na początku dumpa dodać:
SET FOREIGN_KEY_CHECKS = 0;
Wszystkie wpisy, których autorem jest admin
Jak podzielić mysqldump -all na poszczególne bazy?
Komendą mysqldump z parametrem –all-databases można zrobić zrzut wszystkich baz na serwerze do jednego pliku. Powstaje zazwyczaj wielki plik, który ciężko przeglądać. Jak wyciągnąć z niego poszczególne bazy? Używając komendy csplit można zrobić to tak:
csplit –f "baza_" mysqlbackup0101.sql "/^CREATE DATABASE /" {*}
po wykonaniu takej komendy powstanie osobny plik baza_XX dla każdej bazy z pliku źródłowego.
ubiquiti dodatkowy statyczny routing
Nie da się przez panel www dodać dodatkowych wpisów do tablicy routingu w AirOS (ubiquiti).
Można natomiast (logując się przez telnet lub ssh), dodać wpis do pliku startowego:
vi /etc/persistent/rc.poststart
Np. taki wpis:
route add -net 10.2.3.0 netmask 255.255.255.0 gw 10.2.1.2
Po dodaniu należy wydać komendę:
cfgmtd -w -p /etc/
w celu zapisania pliku w pamięci nieulotnej (flash).
Konfiguracja locale
Co zrobić jeśli pojawiają się komunikaty tego typu?
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_COLLATE to default locale: No such file or directory
Może to oznaczać brak pakietu locales, trzeba go wtedy zainstalować:
apt-get install locales
Trzeba skonfigurować locales:
dpkg-reconfigure locales
oraz wybrać np. pl_PL.UTF-8
Instalacja systemu Debian Lenny jako gość dla Xen
dd if=/dev/zero of=nazwa-disk.img bs=1 count=0 seek=10G
dd if=/dev/zero of=nazwa-swap.img bs=1 count=0 seek=100M
mkfs.ext3 nazwa-disk.img (trzeba odpowiedzieć Y)
mkswap nazwa-swap.img
mount -o loop disk.img /xen/mnt/nazwa
debootstrap lenny /xen/mnt/nazwa ftp://ftp.icm.edu.pl/pub/Linux/dist/debian
umount /xen/mnt/nazwa
Należy utworzyć plik konfiguracyjny dla gościa, np.:
kernel = ‚/boot/vmlinuz-2.6.26-2-xen-686’
ramdisk = ‚/boot/initrd.img-2.6.26-2-xen-686’
memory = ‚512’
extra = ‚console=hvc0 xencons=tty’
disk=[‚file:/xen/zab-disk.img,sda2,w’]
name=’nazwa”
boot=’d’
vnc=0
vncviewer=0
sdl=1
on_poweroff = ‚destroy’
on_reboot = ‚restart’
on_crash = ‚restart’
root = „/dev/sda2 ro”
vif = [ ” ]
Teraz wystartować guesta:
xm create -c xm-nazwa.cfg
opuszczenie konsoli przez CTRL-]
Aby ponownie podłączyć konsolę:
xm console nazwa
Zatrzymanie gościa:
xm shutdown nazwa
Lista gości:
xm list
Jeśli gość nie uruchamia się do końca
(staje na Starting periodic command scheduler: crond.), należy do /etc/inittab dodać linię:
h1:2345:respawn:/sbin/getty 38400 hvc0
Dla Ubuntu wywołanie debootstrap:
debootstrap –arch=amd64 trusty /mnt http://archive.ubuntu.com/ubuntu/
Problem z ssh pod xen guest
Po zainstalowaniu systemu guesta przez debootstrap, instalacji sshd, [przy próbie połączenia przez ssh do guesta pojawia się:
root@xxxxx's password:
PTY allocation request failed on channel 0
stdin: is not a tty
Nie ma zainstalowanego pakietu udev, pomaga:
apt-get install udev
oraz dodanie do /etc/fstab
none /dev/pts devpts defaults 0 0
(nie jest to już wymagane).
IBM Remote Supervisor Adapter zapomniane hasło
W przypadku utraty hasła do karty zarządzającej w serwerach IBM (np. x345) należy pobrać ze strony ibm.com dwa obrazy dyskietek:
ibm_fw_rsa_geet24a-1_dos_i386.img
ibm_fw_rsa_geet24a-2_dos_i386.img
Należy wystartować system z pierwszej z nich, uruchomi się PC DOS wraz z programem do upgrade flash, należy wybrać menu:
Hardware Flash Option
oraz z niego opcję:
Erase NVRAM Option
oraz dla bezpieczeństwa wgrać na nowo: Boot Rom, Main Application oraz Remote Graphics App.
Wykonanie takiej operacji całkowicie kasuje wszystkie ustawienia oraz ustawiastandardowe dane do logowania, login: USERID password: PASSW0RD (zero zamiast litery ‚o’).
VMware ESXi – obsługa VLANów 802.1q przez VM
Pod VMware VM może mieć maksymalnie 4 interfejsy ethernetowe. Do niektórych zastosowań jest to za mało. Zazwyczaj do tego celu można zastosować VLANy 802.1q, ale VMware standardowo nie przepuszcza VLANów do systemu gościa. Aby na interfejsie systemu gościa VM były widoczne wszystkie VLANy danego interfejsu należy stworzyć podsieć i ustawić jej VLAN 4095. Takie ustawienie powoduje, że na VM można uruchomić sterownik 802.1q i standardowo mieć dostęp do VLANów z poziomu systemu gościa.
vconfig add eth0 10
Added VLAN with VID == 10 to IF -:eth0:-
ifconfig eth0.10
eth0.10 Link encap:Ethernet HWaddr 00:0c:29:64:c4:6e
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Co można zrobić przez ssh z VMware ESXi 3.5
Można włączyć/wyłączyć wirtuala. Najpierw sprawdzić jakie identyfikatory mają instancje, po zalogowaniu przez ssh wydać polecenie:
vim-cmd vmsvc/getallvms
to pokaże:
Vmid Name File Guest OS Version Annotation
16 RO5 [datastore1] RO5/RO5.vmx otherLinuxGuest vmx-04
Teraz chcąc włączyć wywołujemy:
vim-cmd vmsvc/power.on 16
a wyłączyć:
vim-cmd vmsvc/power.off 16
Można skopiować wirtualny serwer, a potem dodać go przez:
vim-cmd solo/registervm /vmfs/volumes/......MY_VM.vmx
Openvpn wolna transmisja – pomaga zwiększenie bufora
Zestawiłem tunel pomiędzy punktami oddalonymi o kilkanaście milisekund, mimo że pomiędzy nimi transfer wynosi kilkadziesiąt Mbps, to w tunelu transfer dochodzi do 4Mbps i nie chce przesyłać więcej.
Okazuje się, że wypełnia się całkowicie bufor podczas wysyłania i zanim kolejna porcja danych zostanie wysłana openvpn oczekuje na potwiedzenie. Aby zwiększyć przepustowość tunelu należy zwiększyć wielkość bufora. Odpowiedzialne za to są następujące parametry:
openvpn –sndbuf 655360 -rcvbuf 655360
(standardowo bufor ma 65536 bajtów, wielkość należy odbrać doświadczalnie, u mnie zwiększenie dziesięciokrotne pomogło).
W debianie argument wywołania można dodać w pliku /etc/default/openvpn dodając na końcu:
OPTARGS=”–sndbuf 655360 –rcvbuf 655360″