Aktualizace linuxového systému za běhu

Z DCEwiki
Skočit na navigaci Skočit na vyhledávání
  1. Poznámky k instalaci
  2. Aktualizace původního systému
  3. Přesun původního systému do LVM skupiny postavené nad RAID polem
    1. Vytvoření neúplného RAID pole
    2. Vytvoření LVM skupiny a logických disků pro budoucí systém
    3. aktualizace ramdisku
    4. Remount kořenového disku a jeho nakopírování do budoucí pozice
snoopy:~# cat /proc/partitions 
major minor  #blocks  name

   8        0  244198584 sda
   8        1     120456 sda1
   8        2   29302560 sda2
   8        3  214772985 sda3
   8       16  244198584 sdb
   8       17     120456 sdb1
   8       18   29302560 sdb2
   8       19  214772985 sdb3
   9        1   29302464 md1
   9        2  214772864 md2
snoopy:~# cat /proc/mdstat 
Personalities : [raid1] 
md2 : active raid1 sdb3[0] sda3[1]
      214772864 blocks [2/2] [UU]
      
md1 : active raid1 sdb2[0] sda2[1]
      29302464 blocks [2/2] [UU]
      
unused devices: <none>
snoopy:~# mdadm -f /dev/md1 /dev/sda2
mdadm: set /dev/sda2 faulty in /dev/md1
snoopy:~# mdadm -f /dev/md2 /dev/sda3
mdadm: set /dev/sda3 faulty in /dev/md2
snoopy:~# cat /proc/mdstat 
Personalities : [raid1] 
md2 : active raid1 sdb3[0] sda3[2](F)
      214772864 blocks [2/1] [U_]
      
md1 : active raid1 sdb2[0] sda2[2](F)
      29302464 blocks [2/1] [U_]
      
unused devices: <none>
snoopy:~# mdadm --zero-superblock /dev/sda2
snoopy:~# mdadm --zero-superblock /dev/sda3
snoopy:~# mount
/dev/md1 on / type reiserfs (rw,notail)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
/dev/sdb1 on /boot type ext2 (rw)
/dev/sda1 on /boot-backup type ext2 (rw)
/dev/md2 on /home type reiserfs (rw,notail)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
none on /proc/fs/vmblock/mountPoint type vmblock (rw)
snoopy:~# umount /dev/sda1
....
snoopy:~# pvcreate /dev/md0p2
  Physical volume "/dev/md0p2" successfully created
snoopy:~# vgcreate data /dev/md0p2
  Volume group "data" successfully created
snoopy:~# lvcreate -L 30G -n system data
  Logical volume "system" created

Vytvoření souborového systému pro budoucí systémový disk

K logickému blokovému zařízení lze přistupovat buď přes jeho symlink, v adresáři /dev/mapper

snoopy:~# mkfs.reiserfs /dev/mapper/data-system

..nebo přímo, pokud víme jaké má číslo:

snoopy:~# mkfs.reiserfs /dev/dm-0

Před zkopírováním běžícího systému

Před zkopírováním běžícího systému zaktualizujte soubor mdadm.conf

snoopy:~# mdadm --examine --scan /dev/sda /dev/sdb1 /dev/sdb2 /dev/sdb3 >> /etc/mdadm/mdadm.conf

A zaktualizujte ramdisk, aby se nově vytvořené RAID pole po restartu správně spustilo

snoopy:~# update-initramfs -u
update-initramfs: Generating /boot/initrd.img-2.6.37-spike.5

Kopírování běžícího systému

snoopy:~# mount /dev/mapper/data-system /mnt/new -o notail
snoopy:~# mount /dev/md1 /mnt/old -o notail
snoopy:~# cd /mnt/old
snoopy:/mnt/old# cp -a ./* /mnt/new/
  1. Namountujte do dočasného adresáře ... budoucí systémový disk
  2. Do jiného adresáře namountujte znovu aktuální systémový disk. Tímto krokem se dostanete k datům, které jsou skutečně na tomto systémovém disku uložena, bez toho že by byly překryty některým z aktuálně namountovaných virtuálních souborových systémů ( /proc, /sys, /tmp,..)
  3. Kopírování systémového disku

Aktualizace zkopírovaného systému

  1. Nabindujte systémové adresáře a nový /boot
  2. Přepněte se přes chroot
  3. Modifikujte soubor /etc/fstab
  4. Nainstalujte grub