LINUX.ORG.RU
ФорумAdmin

Исправление битых секторов badblocks+e2fsck: Устройство занято, хотя не примонтировано

 , ,


0

1

Доброго дня! К физической машине подключено три диска: - 6ТБ (sdb) - 2ТБ (sda) - 500Гб (sdc)

На 6ТБ стоит Centos 7, с которого происходит загрузка.

Задача: проверить диск (500Гб) на битые сектора.

Примонтирован только sdb, остальных в mount нет, в /etc/fstab тоже

fdisk -l /dev/sdc

Disk /dev/sdc: 500.1 GB, 500107862016 bytes, 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk label type: dos
Disk identifier: 0x000bbb59

Устр-во Загр     Начало       Конец       Блоки   Id  Система
/dev/sdc1   *        2048     1026047      512000   83  Linux
/dev/sdc2         1026048   976773119   487873536   8e  Linux LVM 
blkid /dev/sdc*
/dev/sdc: PTTYPE="dos"
/dev/sdc1: UUID="14bb1978-293f-4de7-a620-36eb08ab605d" TYPE="xfs"
/dev/sdc2: UUID="Od1wHP-fiH6-V9sO-po68-4klA-g5VV-mGch9J" TYPE="LVM2_member"
# /etc/fstab
# Created by anaconda on Thu Jun 21 10:03:59 2018
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos_apollo16-root /                       xfs     defaults        0 0
UUID=d023ac6b-a3fd-453e-bb86-c0232e60b028 /boot                   xfs     defaults        0 0
/dev/mapper/centos_apollo16-home /home                   xfs     defaults        0 0
/dev/mapper/centos_apollo16-swap swap                    swap    defaults        0 0 

Проверяю на битые сектора с записью в файлы, сначала диск целиком, потом только раздел:

 e2fsck -l /tmp/badblock.sdc /dev/sdc
badblocks /dev/sdc2 > /tmp/badblock.sdc2

После этого запускаю исправление диска с указанием битых секторов:

 e2fsck -l /tmp/badblock.sdc /dev/sdc
e2fsck 1.42.9 (28-Dec-2013)
/dev/sdc is in use.
e2fsck: Cannot continue, aborting.

Для раздела диска - аналогичная ошибка:

e2fsck -l /tmp/badblock.sdc2 /dev/sdc2
e2fsck 1.42.9 (28-Dec-2013)
/dev/sdc2 is in use.
e2fsck: Cannot continue, aborting.

При попытке проверить:

lsof |grep sdc
cat /proc/mounts | grep sdc

... выдаёт пустой результат.

Вопрос - как всё таки заблочить найденные бад-блоки?

У тебя на sdc2 — физический том LVM. И основная система тоже стоит на LVM. Ты уверен, что тома на sdc2 не используются? Посмотри, что pvdisplay, lvdisplay, pvs, lvs говорят. Попробуй отключить группу томов на sdc2 с помощью «vgchange -an».

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Спасибо за ответ

pvdisplay
 --- Physical volume ---
  PV Name               /dev/sdb3
  VG Name               centos_apollo16
  PV Size               <5,46 TiB / not usable 4,00 MiB
  Allocatable           yes
  PE Size               4,00 MiB
  Total PE              1430534
  Free PE               1
  Allocated PE          1430533
  PV UUID               RFVjvV-SqhT-9oRP-Kl4f-RE3f-5pWj-ADW42j

  --- Physical volume ---
  PV Name               /dev/sdc2
  VG Name               centos
  PV Size               465,27 GiB / not usable 3,00 MiB
  Allocatable           yes
  PE Size               4,00 MiB
  Total PE              119109
  Free PE               2
  Allocated PE          119107
  PV UUID               Od1wHP-fiH6-V9sO-po68-4klA-g5VV-mGch9J
lvdisplay
  --- Logical volume ---
  LV Path                /dev/centos_apollo16/root
  LV Name                root
  VG Name                centos_apollo16
  LV UUID                zHexhz-KAP0-ciCg-afLH-MY4m-hvCa-Et57fo
  LV Write Access        read/write
  LV Creation host, time localhost, 2018-06-21 10:03:38 +0300
  LV Status              available
  # open                 1
  LV Size                2,49 TiB
  Current LE             652802
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

  --- Logical volume ---
  LV Path                /dev/centos_apollo16/home
  LV Name                home
  VG Name                centos_apollo16
  LV UUID                grwFFN-k2kq-5KDc-3YXz-g6aG-ONOQ-cf5Jcw
  LV Write Access        read/write
  LV Creation host, time localhost, 2018-06-21 10:03:46 +0300
  LV Status              available
  # open                 1
  LV Size                2,95 TiB
  Current LE             773731
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:5

  --- Logical volume ---
  LV Path                /dev/centos_apollo16/swap
  LV Name                swap
  VG Name                centos_apollo16
  LV UUID                Ru3EBt-tjTo-AtAr-21X5-SEdN-bBxf-YR8ucw
  LV Write Access        read/write
  LV Creation host, time localhost, 2018-06-21 10:03:57 +0300
  LV Status              available
  # open                 2
  LV Size                15,62 GiB
  Current LE             4000
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1

  --- Logical volume ---
  LV Path                /dev/centos/root
  LV Name                root
  VG Name                centos
  LV UUID                1igbHc-U36O-s3dq-7WgP-frKJ-hyJV-cu0MLe
  LV Write Access        read/write
  LV Creation host, time apollo16, 2017-01-28 10:50:13 +0300
  LV Status              available
  # open                 1
  LV Size                <418,39 GiB
  Current LE             107107
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2

  --- Logical volume ---
  LV Path                /dev/centos/swap
  LV Name                swap
  VG Name                centos
  LV UUID                IME0hM-CfGm-pRI6-jXPa-3ttL-Wt9U-mutYAp
  LV Write Access        read/write
  LV Creation host, time apollo16, 2017-01-28 10:50:16 +0300
  LV Status              available
  # open                 0
  LV Size                15,62 GiB
  Current LE             4000
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:3

  --- Logical volume ---
  LV Path                /dev/centos/home
  LV Name                home
  VG Name                centos
  LV UUID                o29Ulw-2yu1-Ki24-2YZB-lXUl-af0M-ghTvpH
  LV Write Access        read/write
  LV Creation host, time apollo16, 2017-01-28 10:50:16 +0300
  LV Status              available
  # open                 0
  LV Size                31,25 GiB
  Current LE             8000
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:4
 pvs
  PV         VG              Fmt  Attr PSize    PFree
  /dev/sdb3  centos_apollo16 lvm2 a--    <5,46t 4,00m
  /dev/sdc2  centos          lvm2 a--  <465,27g 8,00m
lvs
  LV   VG              Attr       LSize    Pool Origin Data%  Meta%  Move Log Cpy
  home centos          -wi-a-----   31,25g
  root centos          -wi-ao---- <418,39g
  swap centos          -wi-a-----   15,62g
  home centos_apollo16 -wi-ao----    2,95t
  root centos_apollo16 -wi-ao----    2,49t
  swap centos_apollo16 -wi-ao----   15,62g

Группу centos отключаю, выдает:

vgchange -an centos
  Logical volume centos/root contains a filesystem in use.
  Can't deactivate volume group "centos" with 1 open logical volume(s)

Логические тома активны:

lvscan
  ACTIVE            '/dev/centos_apollo16/root' [2,49 TiB] inherit
  ACTIVE            '/dev/centos_apollo16/home' [2,95 TiB] inherit
  ACTIVE            '/dev/centos_apollo16/swap' [15,62 GiB] inherit
  ACTIVE            '/dev/centos/root' [<418,39 GiB] inherit
  ACTIVE            '/dev/centos/swap' [15,62 GiB] inherit
  ACTIVE            '/dev/centos/home' [31,25 GiB] inherit

Пробую деактивировать логические разделы диска, отвечает, что тоже используется:

lvchange -an /dev/centos/root
  Logical volume centos/root contains a filesystem in use.

manik207
() автор топика
Ответ на: комментарий от legolegs

Спасибо за ответ

Проверяю, какие еще консоли запущены:

# who -l -u
root     tty1         2018-07-14 10:35 давно       1295
root     pts/0        2018-07-14 10:35   .          1893 (192.168.1.105)
# kill 1295
#  who -u
root     pts/0        2018-07-14 10:35   .          1893 (192.168.1.105)

Ошибка остается.

# vgchange -an centos
  Logical volume centos/root contains a filesystem in use.
  Can't deactivate volume group "centos" with 1 open logical volume(s)

Или не так/не там смотрю?

manik207
() автор топика
Ответ на: комментарий от i-rinat

Правильно я понимаю, что, если смонтирована, то должна отображаться через mount?

[root@apollo16 ~]# mount |grep /dev/centos/root
[root@apollo16 ~]# mount |grep /dev/centos*
grep: /dev/centos_apollo16: Это каталог
[root@apollo16 ~]# mount |grep /dev/
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
/dev/mapper/centos_apollo16-root on / type xfs (rw,relatime,attr2,inode64,noquota)
mqueue on /dev/mqueue type mqueue (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
/dev/sdb2 on /boot type xfs (rw,relatime,attr2,inode64,noquota)
/dev/mapper/centos_apollo16-home on /home type xfs (rw,relatime,attr2,inode64,noquota)
/dev/mapper/centos-root on /mnt type xfs (rw,relatime,attr2,inode64,noquota)
[root@apollo16 ~]# mount |grep sdc*
/dev/sdb2 on /boot type xfs (rw,relatime,attr2,inode64,noquota)

Или еще где-нибудь может быть, не в mount'е?

manik207
() автор топика
Ответ на: комментарий от manik207

Правильно я понимаю, что, если смонтирована, то должна отображаться через mount?

Да.

Вот оно:

/dev/mapper/centos-root on /mnt type xfs (rw,relatime,attr2,inode64,noquota)

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Спасибо! Теперь команда выполняется!

И, тогда напоследок, для понимания картины в целом: mapper - как он был примонтирован сам, если ручками я его не монтировала? И что это, как его посмотреть?

Через df -h видны mapper'ы только уже примонтированного диска:

# df -h
Файловая система                 Размер Использовано  Дост Использовано% Cмонтировано в
/dev/mapper/centos_apollo16-root   2,5T         496G  2,1T           20% /
devtmpfs                            16G            0   16G            0% /dev
tmpfs                               16G            0   16G            0% /dev/shm
tmpfs                               16G         9,6M   16G            1% /run
tmpfs                               16G            0   16G            0% /sys/fs/cgroup
/dev/sdb2                         1014M         146M  869M           15% /boot
/dev/mapper/centos_apollo16-home   3,0T          33M  3,0T            1% /home
tmpfs                              3,2G         4,0K  3,2G            1% /run/user/0
manik207
() автор топика
Ответ на: Спасибо! Теперь команда выполняется! от manik207

Барабашка примонтировал, не иначе. :-D

Там в /dev просто куча разных символьных ссылок. К примеру, /dev/centos/root и /dev/mapper/centos-root оба указывают на какой-то один /dev/dm-N, где N — некоторое число.

i-rinat ★★★★★
()
Ответ на: Спасибо! Теперь команда выполняется! от manik207

Подумал я тут ещё, посмотрел в df. Оказалось, что df фильтрует файловые системы и показывает не все. В частности, не показывает псевдо-ФС и недоступные. Возможно, по какой-то причине тот том был именно «недоступным», но запись о монтировании при этом не отвалилась.

i-rinat ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.