Openmediavault проверка дисков на ошибки



    • #1

    System check and harddisk/raid speed tests in a nutshell

    A collection of useful commands for inventory and speed tests

    Part I: Inventory

    Oftenly people complain about low transfer speeds to their OMV box. This is not always a problem of network drivers, cabling or switching hardware, protocols or client OS versions. If the internal transfer speed of your box is slow then network transfer speed cannot be fast.

    So I thought it would be a good idea to collect system check and testing commands to check what is going on inside your box as a point to start with if you are experiencing slow transfer speeds. This can help the users to gain information about her system and delivers information for the supporters.
    There’s a lot of information stored in this forum but they are widespread and sometimes hard to find.

    Ok, let’s start with a system inventory. I’ve tested all these commands on my home box with an Asus ITX board, look at my footer for more details.
    If you know what the OMV system (Or to be more precise: The Linux kernel) detects in your system you can compare that to what your hardware should be capable of and find differences. And you can make sure that the correct kernel driver is loaded for the appropriate hardware.

    1. Hardware oversight

    For this we need the lspci command, a part of the pciutils suite. It is not installed by default, you can install it with apt-get install pciutils. The command without parameters deliver a first oversight, to go into detail we use one of the verbose levels. Because it delivers a lot of information you cannot see completely on the screen it is a good idea to send the output into a file with lspci -v > lspciout.txt and so you have all the information in one file.
    The first one lspci -v of the verbose levels delivers much more details (To go deeper you can use -vv or -vvv). Of interest are the informations about the harddisk controllers:

    00:11.0 SATA controller: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 SATA Controller [IDE mode] (rev 40 ) (prog-if 01 [AHCI 1.0])
    Subsystem: ASUSTeK Computer Inc. Device 8496
    Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 19
    I/O ports at f190 [size=8]
    I/O ports at f180 [size=4]
    I/O ports at f170 [size=8]
    I/O ports at f160 [size=4]
    I/O ports at f150 [size=16]
    Memory at feb4b000 (32-bit, non-prefetchable) [size=1K]
    Capabilities: [70] SATA HBA v1.0
    Capabilities: [a4] PCI Advanced Features
    Kernel driver in use: ahci

    Alles anzeigen

    Ok, this board has five SATA ports, they are completely detected and running in AHCI mode and the ahci kernel driver is loaded.

    For compatibility purposes the PATA drivers are loaded as well:

    00:14.1 IDE interface: Advanced Micro Devices [AMD] nee ATI SB7x0/SB8x0/SB9x0 IDE Controller (rev 40) (prog-if 8a [Master SecP PriP])
    Subsystem: ASUSTeK Computer Inc. Device 8496
    Flags: bus master, 66MHz, medium devsel, latency 32, IRQ 17
    I/O ports at 01f0 [size=8]
    I/O ports at 03f4 [size=1]
    I/O ports at 0170 [size=8]
    I/O ports at 0374 [size=1]
    I/O ports at f100 [size=16]
    Kernel driver in use: pata_atiixp

    If your board has SATA ports and is AHCI-capable but the ahci kernel driver is not loaded than the onboard controller was probably not detected correctly due to sometimes exotic hardware. Try to install the backport kernels.

    2. Detect the SATA levels

    Allright, let’s do the next check: Detect the SATA level for every single harddisk and it’s port. You need the «system names» like sda, sdb and so on to do this, they can be found in the web-gui under storage/physical disks.
    We use the command hdparm -I /dev/sda | grep -i speed and get that:

    root@DATENKNECHT:~# hdparm -I /dev/sdc | grep -i speed
    * Gen1 signaling speed (1.5Gb/s)
    * Gen2 signaling speed (3.0Gb/s)
    * Gen3 signaling speed (6.0Gb/s)

    The output shows that this harddisk is capable of SATA-III from the board port up to the disk.

    The same for sdb in my system shows that:

    root@DATENKNECHT:~# hdparm -I /dev/sdb | grep -i speed
    * Gen1 signaling speed (1.5Gb/s)
    * Gen2 signaling speed (3.0Gb/s)

    Aha — a difference, the maximum is only SATA-II even it is connected to an eSATA port which is SATA-III capable as well. But the disk (2,5″ notebook disk for the OS) is only SATA-II capable so this is correct.
    If your system can deliver Gen3 signaling (Aka SATA-III) and your harddisks are SATA-III ones but the output does not spit out Gen3 signaling, check if your controller is detected correctly and check your SATA cabling. Old SATA cables are sometimes not SATA-III ready or they become scrappy over the years.

    3. Harddisk details and SATA connections

    Next we check if the harddisks are detected correctly with egrep 'ata[0-9].|SATA link up' /var/log/dmesg:

    root@DATENKNECHT:~# egrep 'ata[0-6].|SATA link up' /var/log/dmesg
    [ 2.507922] ata1.00: ATA-8: HGST HDS724040ALE640, MJAOA580, max UDMA/133
    [ 2.507930] ata1.00: 7814037168 sectors, multi 16: LBA48 NCQ (depth 0/32)
    [ 2.547057] ata1.01: ATA-8: WDC WD1600BEVT-75ZCT2, 11.01A11, max UDMA/133
    [ 2.547069] ata1.01: 312581808 sectors, multi 16: LBA48 NCQ (depth 0/32)
    [ 2.547081] ata1.00: limited to UDMA/33 due to 40-wire cable
    [ 2.547086] ata1.01: limited to UDMA/33 due to 40-wire cable
    [ 2.561231] ata1.00: configured for UDMA/33
    [ 2.577216] ata1.01: configured for UDMA/33
    [ 2.848317] ata4: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
    [ 2.848365] ata3: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
    [ 2.848400] ata6: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
    [ 2.848425] ata5: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
    [ 2.850552] ata3.00: ATA-8: HGST HDS724040ALE640, MJAOA580, max UDMA/133
    [ 2.850560] ata3.00: 7814037168 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
    [ 2.850601] ata6.00: ATA-8: HGST HDS724040ALE640, MJAOA580, max UDMA/133
    [ 2.850608] ata6.00: 7814037168 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
    [ 2.850640] ata5.00: ATA-8: HGST HDS724040ALE640, MJAOA580, max UDMA/133
    [ 2.850645] ata5.00: 7814037168 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
    [ 2.850661] ata4.00: ATA-8: HGST HDS724040ALE640, MJAOA580, max UDMA/133
    [ 2.850666] ata4.00: 7814037168 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
    [ 2.852309] ata3.00: configured for UDMA/133
    [ 2.852347] ata5.00: configured for UDMA/133
    [ 2.852377] ata6.00: configured for UDMA/133
    [ 2.852512] ata4.00: configured for UDMA/133

    Alles anzeigen

    Oh, that showed a possible cabling problem in my system. Ata1.00 is connected to the same SATA ports on the board like ata3.00 to ata6.00, but the output says that it is limited to UDMA/33 due to a bad cable. In fact I use a different cable for this disk because it is mounted in a 5,25″ bay on top of the front and the brand new yellow SATA-III cables I used for the other data disks are too short, so I used an old cable laying around. Hm.
    But Ata1.01 (The OS disk connected to an eSATA port) shows the same and due to the fact that these two disks are obviously connected to the same port group on the board (both ata1. and there was no ata2. found) I came to the conclusion that the board maker has used a port multiplier with different capabilities as the other four SATA ports and they seem to run on PATA-mode (A 40-wire cable is an old style flat cable). Another difference shows that: The two disks (ata1.00 and ata1.01) do not use the AA mode.
    This can be a problem if the speed differs a lot from the other disks, but in my case it doesn’t. This disk delivers the same transfer speeds as the other ones.
    Also important is to look if all the disks are using NCQ (Native command queuing) — if one does not, all the other disks would slow down to the speed of that one. AA is the SATA auto activate mode. I haven’t encountered any problems yet, but found some postings on the web reading that missing AA mode can lead to failures in sleep mode (Actually I do not use sleep mode).
    That’s a first oversight of the system.

    • #2

    System check and harddisk/raid speed tests in a nutshell

    A collection of useful commands for inventory and speed tests

    Part II: Block devices and raid check

    1. Block devices

    For checking the block device id’s use blkid:

    root@pronas5:~# blkid
    /dev/sda1: UUID="feef53ee-3b49-40be-ad45-c984f6719781" TYPE="ext4"
    /dev/sda5: UUID="c10ed016-5195-4f87-8cc2-1e9f050c8734" TYPE="swap"
    /dev/sdb1: LABEL="allshare" UUID="3c2cc940-7223-4481-870b-ffc331e08e8a" TYPE="ext4"
    /dev/sdc:
    UUID="7b4545ec-1f56-9aae-f506-a4f44ee9b4fe"
    UUID_SUB="9bbcd7ba-67ea-82bf-e3c3-a30279755fb5" LABEL="pronas5:hdraid"
    TYPE="linux_raid_member"
    /dev/sdd:
    UUID="7b4545ec-1f56-9aae-f506-a4f44ee9b4fe"
    UUID_SUB="c7b00968-14ae-dce9-9812-fc5630e1a718" LABEL="pronas5:hdraid"
    TYPE="linux_raid_member"
    /dev/sde:
    UUID="7b4545ec-1f56-9aae-f506-a4f44ee9b4fe"
    UUID_SUB="9ae2c5b0-e4f5-67ec-3168-08d38fb133b4" LABEL="pronas5:hdraid"
    TYPE="linux_raid_member"
    /dev/md0: LABEL="raidshare" UUID="862e2ba6-aaf9-4d9f-ae8d-1e2cb99e78d7" TYPE="ext4"
    /dev/sdf:
    UUID="7b4545ec-1f56-9aae-f506-a4f44ee9b4fe"
    UUID_SUB="afe38fba-ce2d-e714-34e2-fec9f83afe55" LABEL="pronas5:hdraid"
    TYPE="linux_raid_member"

    Alles anzeigen

    The output shows details about the block devices (Harddisks and raids).

    2. Raid status

    To check the status of a raid there are two commands you can use. A short oversight gives cat /proc/mdstat:

    root@pronas5:~# cat /proc/mdstat
    Personalities : [raid6] [raid5] [raid4]
    md0 : active raid5 sdf[3] sdc[0] sdd[1]
    209649664 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]

    To go into detail use mdadm --detail /dev/md<number_of_raid> (Usually 127 or 0):

    root@pronas5:~# mdadm --detail /dev/md0
    /dev/md0:
    Version : 1.2
    Creation Time : Mon Dec 8 08:47:11 2014
    Raid Level : raid5
    Array Size : 209649664 (199.94 GiB 214.68 GB)
    Used Dev Size : 104824832 (99.97 GiB 107.34 GB)
    Raid Devices : 3
    Total Devices : 3
    Persistence : Superblock is persistent
    
    
    Update Time : Tue Dec 9 11:41:17 2014
    State : clean
    Active Devices : 3
    Working Devices : 3
    Failed Devices : 0
    Spare Devices : 0
    
    
    Layout : left-symmetric
    Chunk Size : 512K
    
    
    Name : pronas5:hdraid (local to host pronas5)
    UUID : 7b4545ec:1f569aae:f506a4f4:4ee9b4fe
    Events : 1333
    
    
    Number Major Minor RaidDevice State
    0 8 32 0 active sync /dev/sdc
    1 8 48 1 active sync /dev/sdd
    3 8 80 2 active sync /dev/sdf

    Alles anzeigen

    • #3

    System check and harddisk/raid speed tests in a nutshell

    A collection of useful commands for inventory and speed tests

    Part III: Speed tests

    1a. Check with dd to tmpfs

    Attention: You can alter the values for the file size and the number of counts, but take care about the free space on your
    devices. A good idea is to check the free space with df -h before you change these values.

    Now let’s do some speed tests and start with dd like thisdd conv=fdatasync if=/dev/sda of=/tmp/test.img bs=1G count=3:

    root@DATENKNECHT:~# dd conv=fdatasync if=/dev/sda of=/tmp/test.img bs=1G count=3
    3+0 Datensätze ein
    3+0 Datensätze aus
    3221225472 Bytes (3,2 GB) kopiert, 23,865 s, 135 MB/s

    This command «copies» a file of 1G size from sda to /tmp/test.img (You have to remove this file afterwards — take care: Count=3 means that the target file will have a size of 3G, more will probably fill up the /tmp-fs partition).
    In other words, this shows the transfer speed from sda (A raid harddisk) to tmpfs (Virtual memory). conv=fdatasync let dd wait until the whole file transfer is finished, so it gives some kind of raw speed. Count=3 let it run three times so it makes sure that caching does not falsify the result.
    You can test that with single disks or the whole raid.

    1b. Check with dd to the boot drive

    Change the target to a directory inside of rootfs (I.e. /home).
    dd conv=fdatasync if=/dev/sda of=/home/test.img bs=1G count=3:

    root@DATENKNECHT:/home# dd conv=fdatasync if=/dev/sda of=/home/test.img bs=1G count=3
    3+0 Datensätze ein
    3+0 Datensätze aus
    3221225472 Bytes (3,2 GB) kopiert, 71,7702 s, 44,9 MB/s

    You see that this is much slower, but this gives you a real speed result between a data drive and the boot drive.

    2. Throughput of CPU, cache and memory

    A test for checking the throughput of CPU, cache and memory of the system _without_ disk reads is hdparm with the parameter -Tt hdparm -Tt /dev/md127:

    root@DATENKNECHT:/tmp# hdparm -Tt /dev/md127
    /dev/md127:
    Timing cached reads: 2224 MB in 2.00 seconds = 1112.99 MB/sec
    Timing buffered disk reads: 1124 MB in 3.00 seconds = 374.60 MB/sec

    Run it several times on a system without activity.

    3. dd to /dev/null

    Next transfer speed test is a dd-test again, this time without creating a file but to /dev/null so it gives a speed result from every single disk without copying to another one with dd if=/dev/sda of=/dev/null bs=1G count=3:

    root@DATENKNECHT:/tmp# dd if=/dev/sda of=/dev/null bs=1G count=3
    3+0 Datensätze ein
    3+0 Datensätze aus
    3221225472 Bytes (3,2 GB) kopiert, 17,7039 s, 182 MB/s

    The conv-parameter from the example above is not allowed when using /dev/null.
    The same using the whole raid:

    root@DATENKNECHT:/tmp# dd if=/dev/md127 of=/dev/null bs=1G count=3
    3+0 Datensätze ein
    3+0 Datensätze aus
    3221225472 Bytes (3,2 GB) kopiert, 8,41633 s, 383 MB/s

    Ok, I think you got it now. The values above are IMHO not bad, the Asus board was a good decision. You may encounter other values even if the tests run on similar hardware, but this is nothing to worry about — every single system has it’s peculiarities starting from the PSU power over bios and HDD firmware versions, cabling and other conditions, even temperature differences can lead to different results.

    I would be happy if this is somehow useful.

    Questions / Problems / Discussions
    System check and harddisk/raid speed tests in a nutshell

FSCK – очень важная утилита для Linux / Unix, она используется для проверки и исправления ошибок в файловой системе.

Она похоже на утилиту «chkdsk» в операционных системах Windows.

Она также доступна для операционных систем Linux, MacOS, FreeBSD.

FSCK означает «File System Consistency Check», и в большинстве случаев он запускается во время загрузки, но может также запускаться суперпользователем вручную, если возникнет такая необходимость.

Может использоваться с 3 режимами работы,

1- Проверка наличия ошибок и позволить пользователю решить, что делать с каждой ошибкой,

2- Проверка на наличие ошибок и возможность сделать фикс автоматически, или,

3- Проверка наличия ошибок и возможность отобразить ошибку, но не выполнять фикс.

Содержание

  1. Синтаксис использования команды FSCK
  2. Команда Fsck с примерами
  3. Выполним проверку на ошибки в одном разделе
  4. Проверьте файловую систему на ошибки и исправьте их автоматически
  5. Проверьте файловую систему на наличие ошибок, но не исправляйте их
  6. Выполним проверку на ошибки на всех разделах
  7. Проверим раздел с указанной файловой системой
  8. Выполнять проверку только на несмонтированных дисках

Синтаксис использования команды FSCK

$ fsck options drives

Опции, которые можно использовать с командой fsck:

  • -p Автоматический фикс (без вопросов)
  • -n не вносить изменений в файловую систему
  • -у принять «yes» на все вопросы
  • -c Проверить наличие плохих блоков и добавить их в список.
  • -f Принудительная проверка, даже если файловая система помечена как чистая
  • -v подробный режим
  • -b использование альтернативного суперблока
  • -B blocksize Принудительный размер блоков при поиске суперблока
  • -j external_journal Установить местоположение внешнего журнала
  • -l bad_blocks_file Добавить в список плохих блоков
  • -L bad_blocks_file Установить список плохих блоков

Мы можем использовать любую из этих опций, в зависимости от операции, которую нам нужно выполнить.

Давайте обсудим некоторые варианты команды fsck с примерами.

Команда Fsck с примерами

Примечание: – Прежде чем обсуждать какие-либо примеры, прочтите это. Мы не должны использовать FSCK на смонтированных дисках, так как высока вероятность того, что fsck на смонтированном диске повредит диск навсегда.

Поэтому перед выполнением fsck мы должны отмонтировать диск с помощью следующей команды:

$ umount drivename

Например:

$ umount /dev/sdb1

Вы можете проверить номер раздела с помощью следующей команды:

$ fdisk -l

Также при запуске fsck мы можем получить некоторые коды ошибок.

Ниже приведен список кодов ошибок, которые мы могли бы получить при выполнении команды вместе с их значениями:

  • 0 – нет ошибок
  • 1 – исправлены ошибки файловой системы
  • 2 – система должна быть перезагружена
  • 4 – Ошибки файловой системы оставлены без исправлений
  • 8 – Операционная ошибка
  • 16 – ошибка использования или синтаксиса
  • 32 – Fsck отменен по запросу пользователя
  • 128 – Ошибка общей библиотеки

Теперь давайте обсудим использование команды fsck с примерами в системах Linux.

Выполним проверку на ошибки в одном разделе

Чтобы выполнить проверку на одном разделе, выполните следующую команду из терминала:

$ umount /dev/sdb1

$ fsck /dev/sdb1

Проверьте файловую систему на ошибки и исправьте их автоматически

Запустите команду fsck с параметром «a» для проверки целостности и автоматического восстановления, выполните следующую команду.

Мы также можем использовать опцию «у» вместо опции «а».

$ fsck -a /dev/sdb1

Проверьте файловую систему на наличие ошибок, но не исправляйте их

В случае, если нам нужно только увидеть ошибки, которые происходят в нашей файловой системе, и не нужно их исправлять, тогда мы должны запустить fsck с опцией “n”,

$ fsck -n /dev/sdb1

Выполним проверку на ошибки на всех разделах

Чтобы выполнить проверку файловой системы для всех разделов за один раз, используйте fsck с опцией «A»

$ fsck -A

Чтобы отключить проверку корневой файловой системы, мы будем использовать опцию «R»

$ fsck -AR

Проверим раздел с указанной файловой системой

Чтобы запустить fsck на всех разделах с указанным типом файловой системы, например, «ext4», используйте fsck с опцией «t», а затем тип файловой системы,

$ fsck -t ext4 /dev/sdb1

или

$ fsck -t -A ext4

Выполнять проверку только на несмонтированных дисках

Чтобы убедиться, что fsck выполняется только на несмонтированных дисках, мы будем использовать опцию «M» при запуске fsck,

$ fsck -AM

Вот наше короткое руководство по команде fsck с примерами.

Пожалуйста, не стесняйтесь присылать нам свои вопросы, используя поле для комментариев ниже.

i have the exact same isue on a new install

@mi-hol I’m running into the same issue. I saw the redesign (eh liked the old UI better, but that’s change). When I try to wipe/edit my disks nothing happens, when I try to create a new file system under the devices drop down literally nothing drops down; it’s super weird.

@votdev
this are the outputs of the comands you requested

omv-rpc -u admin ‘FileSystemMgmt’ ‘getList’ ‘{«start»:0,»limit»:-1}’ | jq

gave :

{
«total»: 0,
«data»: []
}

omv-rpc -u admin ‘FileSystemMgmt’ ‘getMountCandidates’ | jq

gave : [ ]

omv-rpc -u admin ‘FileSystemMgmt’ ‘enumerateFilesystems’ | jq

gave :
[
{
«devicename»: «nvme0n1p1»,
«devicefile»: «/dev/disk/by-uuid/5fd65667-13b4-4811-b80c-ae4279e4fc63»,
«predictabledevicefile»: «/dev/disk/by-uuid/5fd65667-13b4-4811-b80c-ae4279e4fc63»,
«canonicaldevicefile»: «/dev/nvme0n1p1»,
«parentdevicefile»: «/dev/nvme0n1»,
«devlinks»: [
«/dev/disk/by-id/nvme-ADATA_SX6000LNP_2L402914GNCF-part1»,
«/dev/disk/by-id/nvme-eui.324c3430323931344ce00018474e4346-part1»,
«/dev/disk/by-partuuid/86980676-01»,
«/dev/disk/by-path/pci-0000:08:00.0-nvme-1-part1»,
«/dev/disk/by-uuid/5fd65667-13b4-4811-b80c-ae4279e4fc63»
],
«uuid»: «5fd65667-13b4-4811-b80c-ae4279e4fc63»,
«label»: «»,
«type»: «ext4»,
«blocks»: «121499304»,
«mounted»: true,
«mountpoint»: «/»,
«used»: «4.95 GiB»,
«available»: «112723001344»,
«size»: «124415287296»,
«percentage»: 5,
«description»: «/dev/nvme0n1p1 [EXT4, 4.95 GiB (5%) used, 104.98 GiB available]»,
«propposixacl»: true,
«propquota»: true,
«propresize»: true,
«propfstab»: true,
«propcompress»: false,
«propautodefrag»: false,
«hasmultipledevices»: false,
«devicefiles»: [
«/dev/nvme0n1p1»
],
«comment»: «»,
«_readonly»: true,
«_used»: true,
«propreadonly»: false
},
{
«devicename»: «sdg»,
«devicefile»: «/dev/disk/by-uuid/7669b402-8eda-49bb-99f5-b936fb046270»,
«predictabledevicefile»: «/dev/disk/by-uuid/7669b402-8eda-49bb-99f5-b936fb046270»,
«canonicaldevicefile»: «/dev/sdg»,
«parentdevicefile»: «/dev/sdg»,
«devlinks»: [
«/dev/disk/by-id/ata-ST5000LM000-2U8170_WCJ4PZLE»,
«/dev/disk/by-id/wwn-0x5000c500d53faf86»,
«/dev/disk/by-path/pci-0000:07:00.0-ata-2»,
«/dev/disk/by-path/pci-0000:07:00.0-ata-2.0»,
«/dev/disk/by-uuid/7669b402-8eda-49bb-99f5-b936fb046270»
],
«uuid»: «7669b402-8eda-49bb-99f5-b936fb046270»,
«label»: «»,
«type»: «ext4»,
«blocks»: «4844127148»,
«mounted»: true,
«mountpoint»: «/srv/dev-disk-by-uuid-7669b402-8eda-49bb-99f5-b936fb046270»,
«used»: «4.15 TiB»,
«available»: «139384950784»,
«size»: «4960386199552»,
«percentage»: 98,
«description»: «/dev/sdg [EXT4, 4.15 TiB (98%) used, 129.81 GiB available]»,
«propposixacl»: true,
«propquota»: true,
«propresize»: true,
«propfstab»: true,
«propcompress»: false,
«propautodefrag»: false,
«hasmultipledevices»: false,
«devicefiles»: [
«/dev/sdg»
],
«comment»: «»,
«_readonly»: false,
«_used»: false,
«propreadonly»: false
},
{
«devicename»: «sda1»,
«devicefile»: «/dev/disk/by-uuid/cf2de943-dbbd-4a45-9837-4da096062ae5»,
«predictabledevicefile»: «/dev/disk/by-uuid/cf2de943-dbbd-4a45-9837-4da096062ae5»,
«canonicaldevicefile»: «/dev/sda1»,
«parentdevicefile»: «/dev/sda»,
«devlinks»: [
«/dev/disk/by-id/ata-ST2000LM003_HN-M201RAD_S362J9AH814432-part1»,
«/dev/disk/by-id/wwn-0x50004cf212789df8-part1»,
«/dev/disk/by-partuuid/19e77aa3-79a9-4607-887f-cd8af4b85c36»,
«/dev/disk/by-path/pci-0000:00:17.0-ata-3-part1»,
«/dev/disk/by-path/pci-0000:00:17.0-ata-3.0-part1»,
«/dev/disk/by-uuid/cf2de943-dbbd-4a45-9837-4da096062ae5»
],
«uuid»: «cf2de943-dbbd-4a45-9837-4da096062ae5»,
«label»: «»,
«type»: «ext4»,
«blocks»: «1922659888»,
«mounted»: true,
«mountpoint»: «/srv/dev-disk-by-uuid-cf2de943-dbbd-4a45-9837-4da096062ae5»,
«used»: «1.41 TiB»,
«available»: «414157328384»,
«size»: «1968803725312»,
«percentage»: 79,
«description»: «/dev/sda1 [EXT4, 1.41 TiB (79%) used, 385.71 GiB available]»,
«propposixacl»: true,
«propquota»: true,
«propresize»: true,
«propfstab»: true,
«propcompress»: false,
«propautodefrag»: false,
«hasmultipledevices»: false,
«devicefiles»: [
«/dev/sda1»
],
«comment»: «»,
«_readonly»: false,
«_used»: false,
«propreadonly»: false
},
{
«devicename»: «sdf»,
«devicefile»: «/dev/disk/by-uuid/3a7c25c9-a4fe-4e44-9568-80048c2f4da6»,
«predictabledevicefile»: «/dev/disk/by-uuid/3a7c25c9-a4fe-4e44-9568-80048c2f4da6»,
«canonicaldevicefile»: «/dev/sdf»,
«parentdevicefile»: «/dev/sdf»,
«devlinks»: [
«/dev/disk/by-id/ata-ST5000LM000-2U8170_WCJ4RG9X»,
«/dev/disk/by-id/wwn-0x5000c500d5438e3d»,
«/dev/disk/by-path/pci-0000:07:00.0-ata-1»,
«/dev/disk/by-path/pci-0000:07:00.0-ata-1.2.0»,
«/dev/disk/by-uuid/3a7c25c9-a4fe-4e44-9568-80048c2f4da6»
],
«uuid»: «3a7c25c9-a4fe-4e44-9568-80048c2f4da6»,
«label»: «»,
«type»: «ext4»,
«blocks»: «4844127148»,
«mounted»: true,
«mountpoint»: «/srv/dev-disk-by-uuid-3a7c25c9-a4fe-4e44-9568-80048c2f4da6»,
«used»: «3.66 TiB»,
«available»: «683427946496»,
«size»: «4960386199552»,
«percentage»: 86,
«description»: «/dev/sdf [EXT4, 3.66 TiB (86%) used, 636.49 GiB available]»,
«propposixacl»: true,
«propquota»: true,
«propresize»: true,
«propfstab»: true,
«propcompress»: false,
«propautodefrag»: false,
«hasmultipledevices»: false,
«devicefiles»: [
«/dev/sdf»
],
«comment»: «»,
«_readonly»: false,
«_used»: false,
«propreadonly»: false
},
{
«devicename»: «sde»,
«devicefile»: «/dev/disk/by-uuid/295f3d7f-8ecd-430f-b4f3-48fb6421360e»,
«predictabledevicefile»: «/dev/disk/by-uuid/295f3d7f-8ecd-430f-b4f3-48fb6421360e»,
«canonicaldevicefile»: «/dev/sde»,
«parentdevicefile»: «/dev/sde»,
«devlinks»: [
«/dev/disk/by-id/ata-ST5000LM000-2U8170_WCJ4RFF8»,
«/dev/disk/by-id/wwn-0x5000c500d5435fb1»,
«/dev/disk/by-path/pci-0000:07:00.0-ata-1»,
«/dev/disk/by-path/pci-0000:07:00.0-ata-1.0»,
«/dev/disk/by-uuid/295f3d7f-8ecd-430f-b4f3-48fb6421360e»
],
«uuid»: «295f3d7f-8ecd-430f-b4f3-48fb6421360e»,
«label»: «»,
«type»: «ext4»,
«blocks»: «4844127148»,
«mounted»: true,
«mountpoint»: «/srv/dev-disk-by-uuid-295f3d7f-8ecd-430f-b4f3-48fb6421360e»,
«used»: «4.25 TiB»,
«available»: «30415167488»,
«size»: «4960386199552»,
«percentage»: 100,
«description»: «/dev/sde [EXT4, 4.25 TiB (100%) used, 28.32 GiB available]»,
«propposixacl»: true,
«propquota»: true,
«propresize»: true,
«propfstab»: true,
«propcompress»: false,
«propautodefrag»: false,
«hasmultipledevices»: false,
«devicefiles»: [
«/dev/sde»
],
«comment»: «»,
«_readonly»: false,
«_used»: false,
«propreadonly»: false
},
{
«devicename»: «sdb»,
«devicefile»: «/dev/disk/by-uuid/88c471b2-4a18-427d-82c6-4f6a3893daf3»,
«predictabledevicefile»: «/dev/disk/by-uuid/88c471b2-4a18-427d-82c6-4f6a3893daf3»,
«canonicaldevicefile»: «/dev/sdb»,
«parentdevicefile»: «/dev/sdb»,
«devlinks»: [
«/dev/disk/by-id/ata-ST5000LM000-2U8170_WCJ4RCLN»,
«/dev/disk/by-id/wwn-0x5000c500d52e3ab8»,
«/dev/disk/by-path/pci-0000:00:17.0-ata-4»,
«/dev/disk/by-path/pci-0000:00:17.0-ata-4.0»,
«/dev/disk/by-uuid/88c471b2-4a18-427d-82c6-4f6a3893daf3»
],
«uuid»: «88c471b2-4a18-427d-82c6-4f6a3893daf3»,
«label»: «»,
«type»: «ext4»,
«blocks»: «4844127148»,
«mounted»: true,
«mountpoint»: «/srv/dev-disk-by-uuid-88c471b2-4a18-427d-82c6-4f6a3893daf3»,
«used»: «1.97 TiB»,
«available»: «2533500620800»,
«size»: «4960386199552»,
«percentage»: 47,
«description»: «/dev/sdb [EXT4, 1.97 TiB (47%) used, 2.30 TiB available]»,
«propposixacl»: true,
«propquota»: true,
«propresize»: true,
«propfstab»: true,
«propcompress»: false,
«propautodefrag»: false,
«hasmultipledevices»: false,
«devicefiles»: [
«/dev/sdb»
],
«comment»: «»,
«_readonly»: false,
«_used»: false,
«propreadonly»: false
},
{
«devicename»: «md127»,
«devicefile»: «/dev/disk/by-uuid/45ad5b1a-142d-48fa-ba36-90ec5ac9f9d5»,
«predictabledevicefile»: «/dev/disk/by-uuid/45ad5b1a-142d-48fa-ba36-90ec5ac9f9d5»,
«canonicaldevicefile»: «/dev/md127»,
«parentdevicefile»: «/dev/md127»,
«devlinks»: [
«/dev/disk/by-id/md-name-omv-shutle:motion»,
«/dev/disk/by-id/md-uuid-0dd16c74:f64d88c7:34360480:ca295fd3»,
«/dev/disk/by-label/raid1»,
«/dev/disk/by-uuid/45ad5b1a-142d-48fa-ba36-90ec5ac9f9d5»,
«/dev//dev/md/motion»
],
«uuid»: «45ad5b1a-142d-48fa-ba36-90ec5ac9f9d5»,
«label»: «raid1»,
«type»: «ext4»,
«blocks»: «3844421432»,
«mounted»: true,
«mountpoint»: «/srv/dev-disk-by-uuid-45ad5b1a-142d-48fa-ba36-90ec5ac9f9d5»,
«used»: «3.51 TiB»,
«available»: «74298564608»,
«size»: «3936687546368»,
«percentage»: 99,
«description»: «/dev/md127 [EXT4, 3.51 TiB (99%) used, 69.19 GiB available]»,
«propposixacl»: true,
«propquota»: true,
«propresize»: true,
«propfstab»: true,
«propcompress»: false,
«propautodefrag»: false,
«hasmultipledevices»: false,
«devicefiles»: [
«/dev/md127»
],
«comment»: «»,
«_readonly»: false,
«_used»: false,
«propreadonly»: false
},
{
«devicename»: «nvme0n1p5»,
«devicefile»: «/dev/disk/by-uuid/4b71c362-dfb0-4833-968b-e07552f6b3ac»,
«predictabledevicefile»: «/dev/disk/by-uuid/4b71c362-dfb0-4833-968b-e07552f6b3ac»,
«canonicaldevicefile»: «/dev/nvme0n1p5»,
«parentdevicefile»: «/dev/nvme0n1»,
«devlinks»: [
«/dev/disk/by-id/nvme-ADATA_SX6000LNP_2L402914GNCF-part5»,
«/dev/disk/by-id/nvme-eui.324c3430323931344ce00018474e4346-part5»,
«/dev/disk/by-partuuid/86980676-05»,
«/dev/disk/by-path/pci-0000:08:00.0-nvme-1-part5»,
«/dev/disk/by-uuid/4b71c362-dfb0-4833-968b-e07552f6b3ac»
],
«uuid»: «4b71c362-dfb0-4833-968b-e07552f6b3ac»,
«label»: «»,
«type»: «swap»,
«blocks»: «-1»,
«mounted»: false,
«mountpoint»: «»,
«used»: «-1»,
«available»: «-1»,
«size»: «-1»,
«percentage»: -1,
«description»: «/dev/nvme0n1p5 [SWAP, 976.00 MiB]»,
«propposixacl»: false,
«propquota»: false,
«propresize»: false,
«propfstab»: false,
«propcompress»: false,
«propautodefrag»: false,
«hasmultipledevices»: false,
«devicefiles»: [
«/dev/nvme0n1p5»
],
«comment»: «»,
«_readonly»: false,
«_used»: false,
«propreadonly»: false
}
]
#omv-confdbadm read —prettify conf.system.filesystem.mountpoint
gave :
[ ]

mount

gave :
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=3754396k,nr_inodes=938599,mode=755,inode64)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,noexec,relatime,size=757956k,mode=755,inode64)
/dev/nvme0n1p1 on / type ext4 (rw,relatime,errors=remount-ro)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,inode64)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k,inode64)
cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
bpf on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=30,pgrp=1,timeout=0,minproto=5,maxproto=5,direct,pipe_ino=758)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,pagesize=2M)
mqueue on /dev/mqueue type mqueue (rw,nosuid,nodev,noexec,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,nosuid,nodev,noexec,relatime)
tracefs on /sys/kernel/tracing type tracefs (rw,nosuid,nodev,noexec,relatime)
configfs on /sys/kernel/config type configfs (rw,nosuid,nodev,noexec,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,nosuid,nodev,noexec,relatime)
sunrpc on /run/rpc_pipefs type rpc_pipefs (rw,relatime)
tmpfs on /tmp type tmpfs (rw,relatime,inode64)
/dev/nvme0n1p1 on /var/folder2ram/var/log type ext4 (rw,relatime,errors=remount-ro)
folder2ram on /var/log type tmpfs (rw,relatime,inode64)
/dev/nvme0n1p1 on /var/folder2ram/var/tmp type ext4 (rw,relatime,errors=remount-ro)
folder2ram on /var/tmp type tmpfs (rw,relatime,inode64)
/dev/nvme0n1p1 on /var/folder2ram/var/lib/openmediavault/rrd type ext4 (rw,relatime,errors=remount-ro)
folder2ram on /var/lib/openmediavault/rrd type tmpfs (rw,relatime,inode64)
/dev/nvme0n1p1 on /var/folder2ram/var/spool type ext4 (rw,relatime,errors=remount-ro)
folder2ram on /var/spool type tmpfs (rw,relatime,inode64)
/dev/nvme0n1p1 on /var/folder2ram/var/lib/rrdcached type ext4 (rw,relatime,errors=remount-ro)
folder2ram on /var/lib/rrdcached type tmpfs (rw,relatime,inode64)
/dev/nvme0n1p1 on /var/folder2ram/var/lib/monit type ext4 (rw,relatime,errors=remount-ro)
folder2ram on /var/lib/monit type tmpfs (rw,relatime,inode64)
/dev/nvme0n1p1 on /var/folder2ram/var/cache/samba type ext4 (rw,relatime,errors=remount-ro)
folder2ram on /var/cache/samba type tmpfs (rw,relatime,inode64)
/dev/md127 on /srv/dev-disk-by-uuid-45ad5b1a-142d-48fa-ba36-90ec5ac9f9d5 type ext4 (rw,relatime,jqfmt=vfsv0,usrjquota=aquota.user,grpjquota=aquota.group)
/dev/sdg on /srv/dev-disk-by-uuid-7669b402-8eda-49bb-99f5-b936fb046270 type ext4 (rw,relatime,jqfmt=vfsv0,usrjquota=aquota.user,grpjquota=aquota.group)
/dev/sdb on /srv/dev-disk-by-uuid-88c471b2-4a18-427d-82c6-4f6a3893daf3 type ext4 (rw,relatime,jqfmt=vfsv0,usrjquota=aquota.user,grpjquota=aquota.group)
/dev/sde on /srv/dev-disk-by-uuid-295f3d7f-8ecd-430f-b4f3-48fb6421360e type ext4 (rw,relatime,jqfmt=vfsv0,usrjquota=aquota.user,grpjquota=aquota.group)
/dev/sdf on /srv/dev-disk-by-uuid-3a7c25c9-a4fe-4e44-9568-80048c2f4da6 type ext4 (rw,relatime,jqfmt=vfsv0,usrjquota=aquota.user,grpjquota=aquota.group)
/dev/sda1 on /srv/dev-disk-by-uuid-cf2de943-dbbd-4a45-9837-4da096062ae5 type ext4 (rw,relatime,jqfmt=vfsv0,usrjquota=aquota.user,grpjquota=aquota.group)

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

Что такое битые блоки и почему они появляются

Блок (сектор) – это маленькая ячейка диска, на которой в виде битов (0 и 1) хранится информация. Когда системе не удается записать очередной бит в ячейку, говорят о битом секторе. Причин возникновения таких блоков может быть несколько:

  • брак при производстве;
  • отключение питания в процессе записи информации;
  • физический износ диска.

Изначально практически на всех носителях имеются нарушения. Со временем их количество может увеличиваться, что говорит о скором выходе устройства из строя. В Linux тестировать диск на ошибки возможно несколькими способами.

Проверка диска Linux

На ядре Linux работает несколько ОС, среди которых Ubuntu и Debian. Процедура проверки диска универсальная и подходит для каждой из них. О том, что носитель пора тестировать, стоит задуматься, когда на дисковую систему оказывается большая нагрузка, скорость работы с носителем (запись/чтение) значительно уменьшилась, либо эти процедуры и вовсе вызывают ошибки.

Многие знакомы с программой на Windows – Victoria HDD. Разработчики позаботились о написании ее аналогов для Linux.

Badblocks

Badblocks – дисковая утилита, имеющаяся в Ubuntu и других дистрибутивах Linux по умолчанию. Программа позволяет тестировать как жесткий диск, так и внешние накопители.

Важно! Все приведенные в статье терминальные команды начинаются с параметра sudo, так как для выполнения требуются права суперпользователя.

Перед тем, как тестировать диск в Linux следует проверить, какие накопители подключены к системе, с помощью утилиты fdisk-l. Она также покажет имеющиеся на них разделы. 

Теперь можно приступать к непосредственному тестированию на битые сектора. Работа Badblocks организовывается следующим образом:

badblocks -v /dev/sdk1 > bsector.txt

В записи используются следующие команды и операнды:·       

  • -v – выводит подробный отчет о проведенной проверке;·       
  • /dev/sdk1 – проверяемый раздел;·       
  • bsector.txt – запись результатов в текстовый файл. 

Если при проверке диска нашлись битые блоки, нужно запустить утилиту fsck, либо e2fsck, в зависимости от используемой файловой системы. Они ограничат запись информации в нерабочие сектора. В случае файловых систем ext2, ext3 или ext4 выполняется следующая команда:

fsck -l bsector.txt /dev/sdk1

В противном случае:

fsck -l bsector.txt /dev/sdk1

Параметр -l указывает программе, что битые блоки перечислены в файле bsector.txt, и исключать нужно именно их.

GParted

Утилита проверяет файловую систему Linux, не прибегая к текстовому интерфейсу.

Инструмент изначально не содержится в дистрибутивах операционной системы, поэтому ее необходимо установить, выполнив команду:

apt-get install gparted

В главном окне приложения отображаются доступные диски. О том, что носитель пора тестировать, понятно по восклицательному знаку, расположенному рядом с его именем. Запуск проверки производится путем щелчка по пункту «Проверка на ошибки» в подменю «Раздел», расположенном на панели сверху. Предварительно выбирается нужный диск. По завершении сканирования утилита выведет результат.

Проверка HDD и других запоминающих устройств приложением GParted доступна для пользователей ОС Ubuntu, FreeBSD, Centos, Debian и других и других дистрибутивов, работающих на ядре Linux.

Smartmontools

Инструмент позволяет тестировать файловую систему с большей надежностью. В современных жестких дисках имеется встроенный модуль самоконтроля S. M. A. R. T., который анализирует данные накопителя и помогает определить неисправность на первоначальной стадии. Smartmontools предназначен для работы с этим модулем.

Запуск установки производится через терминал:

  • apt install smartmontools – для Ubuntu/Debian;
  • yum install smartmontools – для CentOS.

Для просмотра информации о состоянии жесткого диска, вводится строка:

smartctl –H /dev/sdk1

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

Утилита имеет и другие параметры: -a, —all, -x, —xall. Для получения дополнительной информации вызывается справка:

man smartctl –h

Safecopy

Когда возникает потребность тестировать винчестер в Linux, стоит быть готовым к любому результату.

Приложение Safecopy копирует данные с поврежденного устройства на рабочее. Источником могут быть как жесткие диски, так и съемные носители. Этот инструмент игнорирует ошибки ввода/вывода, чтения, битые блоки, продолжая беспрерывно работать. Скорость выполнения максимально возможная, которую обеспечивает компьютер.

Для установки Safecopy на Linux в терминал вводится строка:

apt install safecopy

Сканирование запускается командой:

safecopy /dev/sdk1 /home/files/

Здесь первый путь обозначает поврежденный диск, второй – директорию, куда сохранятся файлы.

Программа способна создать образ файловой системы нестабильно работающего запоминающего устройства.

Что делать, если обнаружена ошибка в системной программе Ubuntu

Установка нового программного обеспечения или изменения системных настроек могут вызвать сообщение «Обнаружена ошибка в системной программе». Многие его игнорируют, так как на общей работе оно не отражается.

С проблемой обычно сталкиваются пользователи Ubuntu версии 16.04. Тестировать HDD в этом случае нет необходимости, так как проблема скорее заключается именно в программном сбое. Сообщение оповещает о непредвиденном завершении работы программы и предлагает отправить отчет разработчикам. При согласии откроется окно браузера, где требуется заполнить форму из 4 шагов. Такой вариант вызывает сложности и не гарантирует исчезновения ошибки.

Второй способ поможет избежать появления сообщения лишь в том случае, если оно вызывается одной и той же программой. Для этого при очередном оповещении нужно установить галку на опцию «Не показывать больше для этой программы».

Третий метод – отключить утилиту Apport, которая отвечает в Linux за сбор информации и отправку отчетов. Такой подход полностью исключит всплывание окон с ошибками. Возможно отключение только показа уведомлений, оставляя службу сбора в рабочем состоянии. Для этого необходимо выполнить:

gsettings set com.ubuntu.update-notifier show-apport-crashes false

Данные продолжат собираться в папке /var/crash. Их периодически необходимо чистить, чтобы они не заполняли дисковое пространство:

rm /var/crash

Для полного отключения служб Apport, в терминал вводится запись:

gksu gedit /etc/default/apport

В появившемся тексте значение поля enable меняется с 1 на 0. В дальнейшем, чтобы снова включить службу, возвращаются настройки по умолчанию.

Заключение

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

FSCK – очень важная утилита для Linux / Unix, она используется для проверки и исправления ошибок в файловой системе.

Она похоже на утилиту «chkdsk» в операционных системах Windows.

Она также доступна для операционных систем Linux, MacOS, FreeBSD.

FSCK означает «File System Consistency Check», и в большинстве случаев он запускается во время загрузки, но может также запускаться суперпользователем вручную, если возникнет такая необходимость.

Может использоваться с 3 режимами работы,

1- Проверка наличия ошибок и позволить пользователю решить, что делать с каждой ошибкой,

2- Проверка на наличие ошибок и возможность сделать фикс автоматически, или,

3- Проверка наличия ошибок и возможность отобразить ошибку, но не выполнять фикс.

Содержание

  1. Синтаксис использования команды FSCK
  2. Команда Fsck с примерами
  3. Выполним проверку на ошибки в одном разделе
  4. Проверьте файловую систему на ошибки и исправьте их автоматически
  5. Проверьте файловую систему на наличие ошибок, но не исправляйте их
  6. Выполним проверку на ошибки на всех разделах
  7. Проверим раздел с указанной файловой системой
  8. Выполнять проверку только на несмонтированных дисках

Синтаксис использования команды FSCK

$ fsck options drives

Опции, которые можно использовать с командой fsck:

  • -p Автоматический фикс (без вопросов)
  • -n не вносить изменений в файловую систему
  • -у принять «yes» на все вопросы
  • -c Проверить наличие плохих блоков и добавить их в список.
  • -f Принудительная проверка, даже если файловая система помечена как чистая
  • -v подробный режим
  • -b использование альтернативного суперблока
  • -B blocksize Принудительный размер блоков при поиске суперблока
  • -j external_journal Установить местоположение внешнего журнала
  • -l bad_blocks_file Добавить в список плохих блоков
  • -L bad_blocks_file Установить список плохих блоков

Мы можем использовать любую из этих опций, в зависимости от операции, которую нам нужно выполнить.

Давайте обсудим некоторые варианты команды fsck с примерами.

Команда Fsck с примерами

Примечание: – Прежде чем обсуждать какие-либо примеры, прочтите это. Мы не должны использовать FSCK на смонтированных дисках, так как высока вероятность того, что fsck на смонтированном диске повредит диск навсегда.

Поэтому перед выполнением fsck мы должны отмонтировать диск с помощью следующей команды:

$ umount drivename

Например:

$ umount /dev/sdb1

Вы можете проверить номер раздела с помощью следующей команды:

$ fdisk -l

Также при запуске fsck мы можем получить некоторые коды ошибок.

Ниже приведен список кодов ошибок, которые мы могли бы получить при выполнении команды вместе с их значениями:

  • 0 – нет ошибок
  • 1 – исправлены ошибки файловой системы
  • 2 – система должна быть перезагружена
  • 4 – Ошибки файловой системы оставлены без исправлений
  • 8 – Операционная ошибка
  • 16 – ошибка использования или синтаксиса
  • 32 – Fsck отменен по запросу пользователя
  • 128 – Ошибка общей библиотеки

Теперь давайте обсудим использование команды fsck с примерами в системах Linux.

Выполним проверку на ошибки в одном разделе

Чтобы выполнить проверку на одном разделе, выполните следующую команду из терминала:

$ umount /dev/sdb1

$ fsck /dev/sdb1

Проверьте файловую систему на ошибки и исправьте их автоматически

Запустите команду fsck с параметром «a» для проверки целостности и автоматического восстановления, выполните следующую команду.

Мы также можем использовать опцию «у» вместо опции «а».

$ fsck -a /dev/sdb1

Проверьте файловую систему на наличие ошибок, но не исправляйте их

В случае, если нам нужно только увидеть ошибки, которые происходят в нашей файловой системе, и не нужно их исправлять, тогда мы должны запустить fsck с опцией “n”,

$ fsck -n /dev/sdb1

Выполним проверку на ошибки на всех разделах

Чтобы выполнить проверку файловой системы для всех разделов за один раз, используйте fsck с опцией «A»

$ fsck -A

Чтобы отключить проверку корневой файловой системы, мы будем использовать опцию «R»

$ fsck -AR

Проверим раздел с указанной файловой системой

Чтобы запустить fsck на всех разделах с указанным типом файловой системы, например, «ext4», используйте fsck с опцией «t», а затем тип файловой системы,

$ fsck -t ext4 /dev/sdb1

или

$ fsck -t -A ext4

Выполнять проверку только на несмонтированных дисках

Чтобы убедиться, что fsck выполняется только на несмонтированных дисках, мы будем использовать опцию «M» при запуске fsck,

$ fsck -AM

Вот наше короткое руководство по команде fsck с примерами.

Пожалуйста, не стесняйтесь присылать нам свои вопросы, используя поле для комментариев ниже.

OpenMediaVault (OMV) – специализированная операционная система для NAS-хранилищ, собранных самостоятельно. Основывается на Debian Linux, одной из популярных операционных систем. Предусматривает создание программными средствами хранилища для данных на основе различных массивов жестких дисков. Как восстановить данные из NAS-хранилища, созданного в OpenMediaVault?

Восстановление данных из OpenMediaVault

Содержание

  1. Особенности восстановления данных на OpenMediaVault
  2. Как восстановить данные из хранилища созданном в OpenMediaVault

Особенности восстановления данных на OpenMediaVault

OpenMediaVault, как и большенство NAS-устройств, использует технологии mdadm RAID и LVM2, что позволяет создать RAID 0, 1, 5, 6 для хранения данных.

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

Если RAID массив или диски вышли из строя, то для восстановления данных необходимо отключить диски от устройства NAS и подключить их к ПК.

Очень хорошо будет, если приложение для восстановления данных будет автоматически определять RAID, то есть сама распознавать его конфигурацию и важные параметры. В таком случае нам не нужно самим указывать все эти данные. А во многих программах это нужно делать, ведь у всех нет функция автоматического определения RAID. И если мы отметим что-то неверно, данные не восстановим.

Для восстановления данных из хранилища OMV используйте специализированные программы для восстановления данных с RAID.

Как восстановить данные из хранилища созданном в OpenMediaVault

В системе OpenMediaVault было собрано хранилище данных на основе RAID 5 из трех дисков. Использовалась файловая система Btrfs.

Рассмотрим восстановление данных подключенных к компьютеру дисков хранилища OpenMediaVault с использованием RS RAID Retrieve.

Программа имеет привычный интерфейс проводника Windows, что позволяет наглядно увидеть все используемые диски и RAID массивы. Программа автоматически определила RAID хранилище OMV.

Двойной клик на нем или запуск Мастера восстановления, предложит выбрать способ анализа быстрый и полный.

Программа для восстановления данных RS RAID Retrieve

Быстрый анализ — для доступа к удаленным и существующим файлам, полный — после форматирования, отказа одного из дисков

Как восстановить данные программой RS RAID Retrieve

По завершению анализа будут отображены данные, которые можно восстановить. Выберите нужные файлы и нажмите кнопку «Восстановить».

Лучшая программа для восстановления данных из OpenMediaVault

Выберите, куда и каким способом сохранить восстановленные данные.

Восстановить данные из RAID OpenMediaVault

Как видно, процесс восстановления данных с Raid массива созданных в OpenMediaVault прост, достаточно подключить диски к компьютеру и провести анализ программой RS RAID Retrieve.

Часто задаваемые вопросы


OpenMediaVault позволяет создать RAID 0, 1, 5, 6


OpenMediaVault позволяет использовать XFS, JFS, F2FS, Btrfs, Ext3, Ext4


Подключите диски от RAID хранилища к ПК. Запуститьепрограмму RS RAID Retrieve.

Den Broosen

Den Broosen

Автор и редактор сайта для RecoverySoftware. В своих статьях он делится опытом восстановления данных на ПК и безопасного хранения информации на жестких дисках и RAID-массивах.

Hello,
On the File Systems tab I have a drive that has a status of «missing». I know this is a drive that I recently formatted. I would like to remove it from the list in OMV’s File System tab, but all of the options (Create, Resize, Delete) are greyed-out/not available. Is there a config file I can change or command that will remove this now non-existent drive from my file system?

Screenshot 2021-04-23 152614

#########

Results of «blkid -o full»
/dev/mmcblk0p1: LABEL_FATBOOT=»boot» LABEL=»boot» UUID=»592B-C92C» TYPE=»vfat» PARTUUID=»16da416c-01″
/dev/mmcblk0p2: LABEL=»rootfs» UUID=»706944a6-7d0f-4a45-9f8c-7fb07375e9f7″ TYPE=»ext4″ PARTUUID=»16da416c-02″

###########

Results of «mount»
/dev/mmcblk0p2 on / type ext4 (rw,noatime,nodiratime)
devtmpfs on /dev type devtmpfs (rw,relatime,size=1827800k,nr_inodes=97773,mode=755)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,relatime)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
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)
tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup2 on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,name=systemd)
none on /sys/fs/bpf type bpf (rw,nosuid,nodev,noexec,relatime,mode=700)
cgroup on /sys/fs/cgroup/pids type cgroup (rw,nosuid,nodev,noexec,relatime,pids)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=40,pgrp=1,timeout=0,minproto=5,maxproto=5,direct)
mqueue on /dev/mqueue type mqueue (rw,relatime)
nfsd on /proc/fs/nfsd type nfsd (rw,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
sunrpc on /run/rpc_pipefs type rpc_pipefs (rw,relatime)
configfs on /sys/kernel/config type configfs (rw,relatime)
tmpfs on /tmp type tmpfs (rw,relatime)
/dev/mmcblk0p1 on /boot type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro)
/dev/mmcblk0p2 on /var/folder2ram/var/log type ext4 (rw,noatime,nodiratime)
folder2ram on /var/log type tmpfs (rw,relatime)
/dev/mmcblk0p2 on /var/folder2ram/var/tmp type ext4 (rw,noatime,nodiratime)
folder2ram on /var/tmp type tmpfs (rw,relatime)
/dev/mmcblk0p2 on /var/folder2ram/var/lib/openmediavault/rrd type ext4 (rw,noatime,nodiratime)
folder2ram on /var/lib/openmediavault/rrd type tmpfs (rw,relatime)
/dev/mmcblk0p2 on /var/folder2ram/var/spool type ext4 (rw,noatime,nodiratime)
folder2ram on /var/spool type tmpfs (rw,relatime)
/dev/mmcblk0p2 on /var/folder2ram/var/lib/rrdcached type ext4 (rw,noatime,nodiratime)
folder2ram on /var/lib/rrdcached type tmpfs (rw,relatime)
/dev/mmcblk0p2 on /var/folder2ram/var/lib/monit type ext4 (rw,noatime,nodiratime)
folder2ram on /var/lib/monit type tmpfs (rw,relatime)
/dev/mmcblk0p2 on /var/folder2ram/var/cache/samba type ext4 (rw,noatime,nodiratime)
folder2ram on /var/cache/samba type tmpfs (rw,relatime)
overlay on /var/lib/docker/overlay2/ebe8b2e7aa7d08a1e1bc3bfd426374a798c227d9b96fa3a0e5ee64f74173a983/merged type overlay (rw,relatime,lowerdir=/var/lib/docker/overlay2/l/GPLB7SZJ7DDRS3FCG7LVL2OEIX:/var/lib/docker/overlay2/l/NQK7SIP4OITKYDGFHFAOTA7G2T:/var/lib/docker/overlay2/l/LJAYJTRUGCYUV7RYW7BHZIWK2D,upperdir=/var/lib/docker/overlay2/ebe8b2e7aa7d08a1e1bc3bfd426374a798c227d9b96fa3a0e5ee64f74173a983/diff,workdir=/var/lib/docker/overlay2/ebe8b2e7aa7d08a1e1bc3bfd426374a798c227d9b96fa3a0e5ee64f74173a983/work)
nsfs on /run/docker/netns/77c3604ea1d5 type nsfs (rw)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=391976k,mode=700,uid=1000,gid=1000)

############

Results of omv-confdbadm read —prettify «conf.system.filesystem.mountpoint»
Traceback (most recent call last):
File «/usr/sbin/omv-confdbadm», line 76, in
sys.exit(main())
File «/usr/sbin/omv-confdbadm», line 72, in main
return cmd_inst.execute(*sys.argv)
File «/usr/share/openmediavault/confdbadm/commands.d/read.py», line 73, in execute
objs = db.get(cmd_args.id, cmd_args.uuid)
File «/usr/lib/python3/dist-packages/openmediavault/config/database.py», line 85, in get
query.execute()
File «/usr/lib/python3/dist-packages/openmediavault/config/database.py», line 723, in execute
elements = self._execute_xpath()
File «/usr/lib/python3/dist-packages/openmediavault/config/database.py», line 408, in _execute_xpath
root_element = self._get_root_element()
File «/usr/lib/python3/dist-packages/openmediavault/config/database.py», line 399, in _get_root_element
self._load()
File «/usr/lib/python3/dist-packages/openmediavault/config/database.py», line 378, in _load
self._root_element = lxml.etree.parse(self._database_file)
File «src/lxml/etree.pyx», line 3435, in lxml.etree.parse
File «src/lxml/parser.pxi», line 1840, in lxml.etree._parseDocument
File «src/lxml/parser.pxi», line 1866, in lxml.etree._parseDocumentFromURL
File «src/lxml/parser.pxi», line 1770, in lxml.etree._parseDocFromFile
File «src/lxml/parser.pxi», line 1163, in lxml.etree._BaseParser._parseDocFromFile
File «src/lxml/parser.pxi», line 601, in lxml.etree._ParserContext._handleParseResultDoc
File «src/lxml/parser.pxi», line 711, in lxml.etree._handleParseResult
File «src/lxml/parser.pxi», line 638, in lxml.etree._raiseParseError
OSError: Error reading file ‘/etc/openmediavault/config.xml’: failed to load external entity «/etc/openmediavault/config.xml»

Понравилась статья? Поделить с друзьями:
  • Openiv ошибка чтения файла пакета
  • Openiv ошибка невозможно добавить файлы
  • Openiv для gta 5 ошибка
  • Openinteriors asi gta 5 ошибка
  • Opening the browser on your device failed samfirm ошибка