RAID1 NAS-диск по-прежнему сообщает об отсутствии свободного места, даже после добавления нового диска.

Вопрос или проблема

У меня возникла проблема с моим NAS-диском, который сообщает, что на устройстве нет свободного места.

После проверки я обнаружил, что mdadm сообщил, что файл система была ухудшена из-за того, что один из двух дисков вышел из строя. Я заменил диск, и массив был восстановлен, завершив это через 24 часа.

Все выводы из df, mdadm и т.д. указывают, что файловая система здорова и должно быть 1,6 ТБ свободного места.

Но попытка сохранить файл, даже совсем маленький, приводит к сообщению о том, что на устройстве нет свободного места.

Диагностические выводы следующие. Файловая система RAID1 смонтирована на /mnt/pools/A/A0.

Проверка пространства:

df -h
Filesystem            Size  Used Avail Use% Mounted on
rootfs                 50M  3.0M   48M   6% /
/dev/root.old         6.5M  2.1M  4.4M  33% /initrd
none                   50M  3.0M   48M   6% /
/dev/md0_vg/BFDlv     4.0G  624M  3.2G  17% /boot
/dev/loop0            592M  538M   54M  91% /mnt/apps
/dev/loop1            4.9M  2.2M  2.5M  47% /etc
/dev/loop2            260K  260K     0 100% /oem
tmpfs                 122M     0  122M   0% /mnt/apps/lib/init/rw
tmpfs                 122M     0  122M   0% /dev/shm
/dev/mapper/md0_vg-vol1
                       16G  1.5G   15G  10% /mnt/system
/dev/mapper/5244dd0f_vg-lv58141b0d
                      3.7T  2.0T  1.7T  55% /mnt/pools/A/A0

Проверка i-node:

df -ih
Filesystem            Inodes   IUsed   IFree IUse% Mounted on
rootfs                   31K     565     30K    2% /
/dev/root.old           1.7K     130    1.6K    8% /initrd
none                     31K     565     30K    2% /
/dev/md0_vg/BFDlv       256K      20    256K    1% /boot
/dev/loop0               25K     25K      11  100% /mnt/apps
/dev/loop1              1.3K    1.1K     152   88% /etc
/dev/loop2                21      21       0  100% /oem
tmpfs                    31K       4     31K    1% /mnt/apps/lib/init/rw
tmpfs                    31K       1     31K    1% /dev/shm
/dev/mapper/md0_vg-vol1
                         17M    9.7K     16M    1% /mnt/system
/dev/mapper/5244dd0f_vg-lv58141b0d
                        742M    2.6M    739M    1% /mnt/pools/A/A0

Статус RAID:

mdadm --detail /dev/md1
/dev/md1:
        Version : 01.00
  Creation Time : Mon Mar  7 08:45:49 2011
     Raid Level : raid1
     Array Size : 3886037488 (3706.01 GiB 3979.30 GB)
  Used Dev Size : 7772074976 (7412.03 GiB 7958.60 GB)
   Raid Devices : 2
  Total Devices : 2
Preferred Minor : 1
    Persistence : Superblock is persistent

    Update Time : Thu Jan 30 03:16:36 2025
          State : clean
 Active Devices : 2
Working Devices : 2
 Failed Devices : 0
  Spare Devices : 0

           Name : ix2-200-DC386F:1
           UUID : 8a192f2c:9829df88:a6961d81:20478f62
         Events : 365739

    Number   Major   Minor   RaidDevice State
       3       8       18        0      active sync   /dev/sdb2
       2       8        2        1      active sync   /dev/sda2

Разделы:

sfdisk -l /dev/sda

WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util sfdisk doesn't support GPT. Use GNU Parted.


Disk /dev/sda: 486401 cylinders, 255 heads, 63 sectors/track
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sda1          0+      -       0- 2147483647+  ee  EFI GPT
        start: (c,h,s) expected (0,0,2) found (0,0,1)
/dev/sda2          0       -       0          0    0  Empty
/dev/sda3          0       -       0          0    0  Empty
/dev/sda4          0       -       0          0    0  Empty



sfdisk -l /dev/sdb

WARNING: GPT (GUID Partition Table) detected on '/dev/sdb'! The util sfdisk doesn't support GPT. Use GNU Parted.


Disk /dev/sdb: 486401 cylinders, 255 heads, 63 sectors/track
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdb1          0+      -       0- 2147483647+  ee  EFI GPT
        start: (c,h,s) expected (0,0,2) found (0,0,1)
/dev/sdb2          0       -       0          0    0  Empty
/dev/sdb3          0       -       0          0    0  Empty
/dev/sdb4          0       -       0          0    0  Empty

выводы pvs, lvs, vgs:

pvs
  PV         VG          Fmt  Attr PSize  PFree
  /dev/md0   md0_vg      lvm2 a-   20.01G    0 
  /dev/md1   5244dd0f_vg lvm2 a-    3.62T    0 


lvs
  LV         VG          Attr   LSize  Origin Snap%  Move Log Copy%  Convert
  lv58141b0d 5244dd0f_vg -wi-ao  3.62T                                      
  BFDlv      md0_vg      -wi-ao  4.00G                                      
  vol1       md0_vg      -wi-ao 16.01G 


vgs
  VG          #PV #LV #SN Attr   VSize  VFree
  5244dd0f_vg   1   1   0 wz--n-  3.62T    0 
  md0_vg        1   2   0 wz--n- 20.01G    0 

выводы lvdisplay, pvdisplay и vgdispaly:

lvdisplay 
  --- Logical volume ---
  LV Name                /dev/5244dd0f_vg/lv58141b0d
  VG Name                5244dd0f_vg
  LV UUID                hLUJyo-C8ge-1SRc-gvdg-dlLn-5A7e-D55XeO
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                3.62 TB
  Current LE             948739
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2
   
  --- Logical volume ---
  LV Name                /dev/md0_vg/BFDlv
  VG Name                md0_vg
  LV UUID                N48AUD-nucp-gP18-wmQi-Ym12-3G1L-7wE1jd
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                4.00 GB
  Current LE             1024
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0
   
  --- Logical volume ---
  LV Name                /dev/md0_vg/vol1
  VG Name                md0_vg
  LV UUID                73CtS1-b4KB-cLrG-hgUz-Qsli-Mlte-QhaUzy
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                16.01 GB
  Current LE             4098
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1


pvdisplay 
  --- Physical volume ---
  PV Name               /dev/md1
  VG Name               5244dd0f_vg
  PV Size               3.62 TB / not usable 2.30 MB
  Allocatable           yes (but full)
  PE Size (KByte)       4096
  Total PE              948739
  Free PE               0
  Allocated PE          948739
  PV UUID               mdm9UZ-dhcm-T26Z-LRAB-Pevo-4y7t-OHRDRr
   
  --- Physical volume ---
  PV Name               /dev/md0
  VG Name               md0_vg
  PV Size               20.01 GB / not usable 1.06 MB
  Allocatable           yes (but full)
  PE Size (KByte)       4096
  Total PE              5122
  Free PE               0
  Allocated PE          5122
  PV UUID               AGH7Ci-jGbF-bLsB-pMKr-IttE-7GtR-e5Rf9k


vgdisplay 
  --- Volume group ---
  VG Name               5244dd0f_vg
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  8
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               3.62 TB
  PE Size               4.00 MB
  Total PE              948739
  Alloc PE / Size       948739 / 3.62 TB
  Free  PE / Size       0 / 0   
  VG UUID               FB2tzp-8Gr2-6Dlj-9Dck-Tyc4-Gxx5-HHIsBD
   
  --- Volume group ---
  VG Name               md0_vg
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               20.01 GB
  PE Size               4.00 MB
  Total PE              5122
  Alloc PE / Size       5122 / 20.01 GB
  Free  PE / Size       0 / 0   
  VG UUID               EA3tJR-nVdm-0Dcf-YtBE-t1Qj-peHc-Sh0zXe
   

Я в растерянности, что делать дальше.

Обновление:

Количество каталогов в этой файловой системе составляет 280,286.

$ cd /mnt/pools/A/A0/
$ ls
Backups  Documents  Movies  Music  Pictures  QuikTransfer  stls_userdata  TimeMachine
$ find . -type d | wc -l
280286

Ответ или решение

Очевидно, что ваша проблема связана с операцией RAID1 на NAS (сетевом хранилище). Ситуация, когда устройство отображает "Нет свободного места на устройстве", даже после замены диска и успешного восстановления массива, может быть обусловлена несколькими потенциальными причинами. Ниже я представлю теоретическую базу, подкреплю примерами и предложу практические шаги для решения проблемы.

Теория: Потенциальные причины проблемы

  1. Проблемы с количеством i-node: Как следует из вывода команды df -ih, файловая система может испытывать нехватку i-node, что зачастую ограничивает возможность хранения новых файлов, несмотря на доступное пространство.

  2. Некорректное обновление метаданных файловой системы: Возможно, что после восстановления RAID массив не были правильно обновлены или синхронизированы метаданные файловой системы, что могло привести к отображению неверного статуса доступного пространства.

  3. Проблемы на уровне объемов логического тома: На основе предоставленных выходных данных команд pvs, lvs и vgs, ваши логические тома корректно отображают доступное пространство, однако физически оно может быть заблокировано.

  4. Проблемы с доступом или разрешениями: Бывает, что при некорректной настройке доступов или разрешений пользователи могут испытывать проблемы с записью данных на диск.

Пример: Реальные кейсы

  1. Недостаток i-node: Даже в условиях имеющегося пространства, предел может быть достигнут за счет многочисленных маленьких файлов. Так, на корпоративных серверах подобные случаи часто встречаются в разделах с большим количеством мелких файлов, таких как логи или временные файлы программного обеспечения.

  2. Проблемы с синхронизацией данных: После перестройки RAID-массива, некоторые администраторы замечали, что файловая система не отображает изменения в пространстве из-за несоответствия в метаданных.

  3. Проблемы с LVM: Были случаи, когда после восстановления массива RAID в результате сбоя оборудования, администраторы забывали обновить метаданные логических томов, что приводило к отображению неверного статуса доступного пространства.

Применение: Шаги для решения

  1. Проверка i-node: Запустите df -i и получите полный список устройств, где есть проблемы с i-node. Если i-node закончились, вам необходимо оптимизировать количество хранимых файлов, например, путем их объединения.

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

  3. Пересборка метаданных LVM:

    • Убедитесь, что все физические тома добавлены и синхронизированы корректно.
    • Используйте vgdisplay и lvdisplay для верификации состояния логических томов, их отображаемой емкости и состояния.
    • При необходимости используйте lvextend для перераспределения пространства (в случае добавления новых физических дисков).
  4. Проверка и обновление прав доступа:

    • Убедитесь, что у пользователя или процесса, который пытается записать данные, есть соответствующие права на файловую систему. Проверьте и обновите разрешения командой chmod или chown.
  5. Мониторинг состояния RAID:

    • Регулярно проверяйте статус RAID команды mdadm --detail, особенно после крупных изменений, таких как замена диска или восстановление массива.

Обратите внимание, что в зависимости от специфики вашего оборудования и конфигурации, не все шаги могут быть применимы. Однако, применяя предложенные шаги, вы сможете, с большой вероятностью, выявить и устранить корень проблемы.

Оцените материал
Добавить комментарий

Капча загружается...