exchanging a defective drive in a software RAID

setup: server with configured software RAID1 and LVM. If you have configured mdadm monitoring correctly you might receive an email like the following one day: A Fail event had been detected on md device /dev/md/0. It could be related to component device /dev/sda1. This requires immediate action because one of your hard disks is possibly broken. # cat /proc/mdstat Personalities : [raid1] md1 : active raid1 sda2[0](F) sdb2[1] 2929739071 blocks super 1.2 [2/1] [_U] md0 : active raid1 sda1[0](F) sdb1[1] 524276 blocks super 1.2 [2/1] [_U] unused devices: <none> In this case /dev/sda is the defective device. For your support ticket you need to provide information that proves that the device is broken. ...

June 30, 2013 · 3 min

ownCloud webdav auth on apache with php FCGId

If you’re running ownCloud on a server with FCGId you might wonder why login to the web interface work flawlessly but your sync client keeps saying that the provided credentials aren’t correct. The problem is, that the webdav auth done via remote.php (this is actually used by the sync client) is not able to process the credentials because of FCGId. The following .htaccess in the root folder fixed this problem for me, you need to enable mod_rewrite for this to work. ...

June 25, 2013 · 1 min

byobu

byobu basically is a wrapper for screen or tmux and is available via the repositories. You don’t have to mess around with the various screen/tmux options anymore since byobu provides an easy to use interface. Added bonus: byobu displays status notifications like time, RAM usage or uptime in its footer. One can add or remove more notifications by pressing F9 and selecting “Toggle status notifications”.

June 20, 2013 · 1 min

apt-listchanges

apt-listchanges is a small tool which shows changelog entries for Debian packages. You can install it from the repositories: aptitude install apt-listchanges In case you ever want to make changes to its configuration: dpkg-reconfigure apt-listchanges If configured correctly every aptitude upgrade will now show the corresponding changelogs for each package with the option to abort install. It’s even possible to mail the changelogs to a provided email address.

June 10, 2013 · 1 min

create and enlarge logical volume

lvcreate -L4G --name=disk vg0 mkfs.ext4 /dev/vg0/disk lvextend -L200G /dev/vg0/disk e2fsck -f /dev/vg0/disk resize2fs /dev/vg0/disk

June 7, 2013 · 1 min

Cuddle: bash download manager

I’ve always been looking for a command-line based download manager but the few available solutions didn’t satisfy my requirements. Today I stumbled upon Cuddle which code is somewhat old (files on SourceForge are from 2007) but seems to be the most simple and usable tool I have seen so fare. Cuddle makes use of Wget , provides a download queue, supports multiple downloads and allows the usage of wgets limit-rate feature. ...

June 7, 2013 · 1 min

Hetzner, Debian 7.0 Wheezy, Xen, LVM, Routing, zusätzliche IP-Adressen

## im Rescuesystem von Hetzner installimage #ruft den Installer von Hetzner auf # dort dann Debian > Debian-70-wheezy-64-minimal auswaehlen # folgende Config fuer Software-RAID 1 mit LVM verwenden DRIVE1 /dev/sda DRIVE2 /dev/sdb SWRAID 1 SWRAIDLEVEL 1 BOOTLOADER grub HOSTNAME HIER_NAME_EINSETZEN PART /boot ext2 512M PART lvm vg0 all LV vg0 root / ext4 50G LV vg0 swap swap swap 4G IMAGE /root/.oldroot/nfs/install/../images/Debian-70-wheezy-64-minimal.tar.gz # den Editor verlassen (zweimal Escape und abspeichern), dann wird installiert # danach reboot und login mit den Credentials vom Rescuesystem # (eventuell muss man ssh-keygen -f "/home/user/.ssh/known_hosts" -R XXX.XXX.XXX.XXX aufrufen) # ssh publickey eintragen nano .ssh/authorized_keys # ueberpruefen ob das Anlegen der volume group geklappt hat vgdisplay lvdisplay df -h # die sources.list von hetzner wegsichern cd /etc/apt/ cp sources.list sources.list.hetzner # und folgende sources.list verwenden (http://debgen.simplylinux.ch/) deb http://ftp.de.debian.org/debian stable main contrib non-free deb-src http://ftp.de.debian.org/debian stable main contrib non-free deb http://ftp.debian.org/debian/ wheezy-updates main contrib non-free deb-src http://ftp.debian.org/debian/ wheezy-updates main contrib non-free deb http://security.debian.org/ wheezy/updates main contrib non-free deb-src http://security.debian.org/ wheezy/updates main contrib non-free # update/upgrade apt-get update && apt-get upgrade # firmware packages aptitude install firmware-linux firmware-linux-free firmware-linux-nonfree firmware-realtek # optional: mdadm: Warnung einrichten nano /etc/mdadm/mdadm.conf MAILADDR=your@email.tld # Xen installieren aptitude install xen-tools xen-linux-system-amd64 # Toolstack setzen nano /etc/default/xen TOOLSTACK="xm" nano /etc/default/xendomains XENDOMAINS_RESTORE=false XENDOMAINS_SAVE="" # ballooning fuer Dom0 deaktivieren nano /etc/default/grub GRUB_CMDLINE_XEN="dom0_mem=2048M" update-grub nano /etc/xen/xend-config.sxp (dom0-min-mem 2048) (enable-dom0-ballooning no) # in der jetzigen Konfiguration wuerde der angepasste Xen-Kernel nicht gebootet werden # deswegen muss man grub modifizieren dpkg-divert --divert /etc/grub.d/07_linux_xen --rename /etc/grub.d/20_linux_xen update-grub # dann reboot reboot # verifizieren, dass Xen (Dom0) da ist # und ballooning inaktiv ist # z.B. mit xm list # Forwarding fuer IPv4 und IPv6 aktivieren nano /etc/sysctl.conf net.ipv4.ip_forward=1 net.ipv4.conf.all.rp_filter=1 net.ipv4.conf.default.proxy_arp=1 net.ipv4.icmp_echo_ignore_broadcasts=1 net.ipv6.conf.all.forwarding = 1 # Einstellungen sofort aktivieren sysctl -p # xend-config cd /etc/xen cp xend-config.sxp xend-config.sxp.bak # folgende Zeilen aktivieren (network-script network-route) (vif-script vif-route) # Xen image erstellen # gateway = IP des Hosts, netmask = 255.255.255.255.255, kein (!) broadcast xen-create-image --hostname=foo.bar.net --memory=6Gb --vcpus=3 --lvm=vg0 --pygrub --dist=wheezy --fs=ext4 --swap=1Gb --ip=VM_IP --netmask=255.255.255.255 --gateway=HOST_IP --force # root pw aus dem "Installation Summary" notieren xm create -c foo.bar.net # in der VM die /etc/network/interfaces bearbeiten # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto eth0 iface eth0 inet static address VM_IP gateway HOST_IP pointopoint HOST_IP netmask 255.255.255.255

June 4, 2013 · 2 min

mount: unknown filesystem type 'LVM2_member'

root@server7 ~ # mount /dev/md1 /mnt/ mount: unknown filesystem type 'LVM2_member' root@server7 ~ # modprobe dm-mod root@server7 ~ # lvmdiskscan root@server7 ~ # vgchange -ay 2 logical volume(s) in volume group "vg0" now active root@server7 ~ # lvscan ACTIVE '/dev/vg0/root' [50.00 GiB] inherit ACTIVE '/dev/vg0/swap' [4.00 GiB] inherit root@server7 ~ # mount /dev/vg0/root /mnt/ root@server7 ~ #

June 4, 2013 · 1 min

Debian Sources List Generator

http://debgen.simplylinux.ch deb http://ftp.de.debian.org/debian stable main contrib non-free deb-src http://ftp.de.debian.org/debian stable main contrib non-free deb http://ftp.debian.org/debian/ wheezy-updates main contrib non-free deb-src http://ftp.debian.org/debian/ wheezy-updates main contrib non-free deb http://security.debian.org/ wheezy/updates main contrib non-free deb-src http://security.debian.org/ wheezy/updates main contrib non-free

June 2, 2013 · 1 min