device is already in use

Здравейте,

Тази сутрин трябваше да направя live migration от ext3 към ext4 на един proxmox сървър, и в този пост искам да споделя преживяното:

device is already in use

Започнах процедурата като спазвах стъпките от https://debian-administration.org/article/643/Migrating_a_live_system_from_ext3_to_ext4_filesystem , но излезе следният проблем:

Първо при umount /dev/pve/data излезе :

umount: /var/lib/vz: target is busy
(In some cases useful info about processes that
use the device is found by lsof(8) or fuser(1).)

Използвах флаг-а -l при umount и продължих по стъпките.

При fsck.ext4 -yfD /dev/pve/data обаче възникна същия проблем :

moon:~# fsck.ext4 -yfD /dev/pve/data
e2fsck 1.42.12 (29-Aug-2014)
/dev/pve/data is in use.
e2fsck: Cannot continue, aborting.

За да разбера какво караше /dev/pve/data да е все още монтиран, трябваше да използвам командата fuser -m /dev/pve/data

И така разбрах следното :

moon:/var/lib# fuser -m /dev/pve/data
/dev/dm-2: 11657 11685 17558 22012 24655 26116 29357 34728 35034 35694 42784 46330 47645

Това бяха pid-овете на процесите задържащи /dev/pve/data .. спрях ги един по един и успях да продължа миграцията както следва :

moon:~# tune2fs -O extents,uninit_bg,dir_index /dev/pve/data
tune2fs 1.42.12 (29-Aug-2014)
moon:~# fsck.ext4 -yfD /dev/pve/data
e2fsck 1.42.12 (29-Aug-2014)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 3A: Optimizing directories
Pass 4: Checking reference counts
Pass 5: Checking group summary information

/dev/pve/data: ***** FILE SYSTEM WAS MODIFIED *****
/dev/pve/data: 770019/482590720 files (0.3% non-contiguous), 1543788056/3860725760 blocks

Накрая монтирах на ново /dev/pve/data към /var/lib/vz и вече имах успешно мигрирана ext4 файлова система! Нито един файл не се затри през цялата операция! 🙂

Това е!