Migrazione ad ext4 in Debian Squeeze

From RVM Wiki
Revision as of 11:49, 9 January 2012 by Gabriele.vivinetto (talk | contribs) (Ottimizzazione)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
  • Cambiare fstab per montare tutto in ext4
sudo sed -i 's/ext3/ext4/' /etc/fstab
  • Controllare
sudoedit /etc/fstab
  • Updatare l'initrd
sudo update-initramfs -u -k all
  • Reboot
sudo reboot
  • Verificare che la root sia montata in ext4. Il Filesystem è ancora compatibile ext3, in caso di problemi.
mount | grep ext4
  • Abilitare il login root con key da ssh
sudoedit /etc/ssh/sshd_config
PermitRootLogin without-password
sudo invoke-rc.d ssh restart
  • Copiare la key per root
cat ~/.ssh/authorized_keys | sudo tee -a /root/.ssh/authorized_keys > /dev/null
  • Collegarsi come root, ed uscire eventualmente da screen
ssh root@hostname
  • Abilitare ssh al runlevel
sed -i -e "/^~~/ish:S:respawn:/usr/sbin/sshd -Do 'AllowUsers=root'" /etc/inittab
  • Andare in single user mode:
telinit q
init 1
  • Attendere la chiusra di tutti i serviei e la disconnessione e poi riconnettersi:
ssh root@hostname
  • Uscire da screen, chiudere tutti i processi inutili
  • Montare la root readonly:
mount -o remount,ro /
  • Verificare che il filesystem sia davvero readonly
mkdir /tmp/test
mkdir: cannot create directory `test': Read-only file system
  • Fare check:
fsck.ext3 -pf -C0 /dev/md0
  • Abilitare estensioni ext4
tune2fs -O extents,uninit_bg,dir_index /dev/md0
  • Il filesystem ora NON è più montabile come ext3
  • Fare check:
fsck.ext4 -yfD -C0 /dev/md0
  • Reboot
reboot
  • Rimuovere la riga
sudoedit /etc/inittab
sh:S:respawn:/usr/sbin/sshd -Do 'AllowUsers=root'
  • Cancellare la key root
sudoedit /root/.ssh/authorized_keys


Ottimizzazione

  • Se possibile, applicare questi parametri, che ottimizzano il filesystem che proviene da vecchie installazioni:
sudo tune2fs -I 256 \
             -O sparse_super,filetype,resize_inode,dir_index,ext_attr,has_journal,\
             extents,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize \
             /dev/MYDEV

Abilitazione extents

Per ogni directory:

export DIRS="
bin
boot
cdrom
etc
files
home
lib
media
mnt
opt
root
sbin
selinux
tmp
usr
var"

cd /; for DIR in $DIRS; do echo CHANGING $DIR; sudo find $DIR -xdev -type f -print0 | xargs -0 sudo chattr +e; sudo find $DIR -xdev -type d -print0 | xargs -0 sudo chattr +e; done
  • sudo reboot

Just a quick note of caution for other antedeluvians. I migrated to ext4 and migrated most of my filesystems back again when I found that dump/restore didn't (yet) support ext4.

Riferimenti