Как правильно упорядочить таблицу разделов?

18

Я занимаюсь созданием своего первого массива RAID5. Я использовал mdadm для создания следующей настройки:

[email protected]:~# mdadm --detail /dev/md1
/dev/md1:
        Version : 00.90
  Creation Time : Wed Oct 20 20:00:41 2010
     Raid Level : raid5
     Array Size : 5860543488 (5589.05 GiB 6001.20 GB)
  Used Dev Size : 1953514496 (1863.02 GiB 2000.40 GB)
   Raid Devices : 4
  Total Devices : 4
Preferred Minor : 1
    Persistence : Superblock is persistent

    Update Time : Wed Oct 20 20:13:48 2010
          State : clean, degraded, recovering
 Active Devices : 3
Working Devices : 4
 Failed Devices : 0
  Spare Devices : 1

         Layout : left-symmetric
     Chunk Size : 64K

 Rebuild Status : 1% complete

           UUID : f6dc829e:aa29b476:edd1ef19:85032322 (local to host bondigas)
         Events : 0.12

    Number   Major   Minor   RaidDevice State
       0       8       16        0      active sync   /dev/sdb
       1       8       32        1      active sync   /dev/sdc
       2       8       48        2      active sync   /dev/sdd
       4       8       64        3      spare rebuilding   /dev/sde

Пока это происходит, я решил отформатировать зверя с помощью следующей команды:

[email protected]:~# mkfs.ext4 /dev/md1p1 
mke2fs 1.41.11 (14-Mar-2010)
/dev/md1p1 alignment is offset by 63488 bytes.
This may result in very poor performance, (re)-partitioning suggested.
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=16 blocks, Stripe width=48 blocks
97853440 inodes, 391394047 blocks
19569702 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
11945 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
        102400000, 214990848

Writing inode tables: ^C 27/11945
[email protected]:~# ^C

Я не уверен, что делать с выравниванием «/ dev / md1p1, смещается на 63488 байт». и как правильно разбивать диски на соответствие, чтобы я мог правильно отформатировать их.     

задан Jorge Castro 21.10.2010 в 02:18
источник

4 ответа

7

Один из моих друзей указал, что я могу просто mkfs.ex4 прямо на /dev/md1 без разбиения на разделы, поэтому я удалил раздел и сделал это, и теперь он выглядит как форматирование.

    
ответ дан Jorge Castro 21.10.2010 в 02:50
источник
16

Так как выравнивание всплывает во многих местах -

  • Жесткие диски Advanced Format с блоками 4k
  • SSD-накопители
  • RAID
  • LVM

- Я немного расскажу о вопросе.

Выравнивание разделов

"Linux on Диски 4kB-сектора " (IBM developerWorks) проходят шаги с помощью fdisk, parted и GPt fdisk.

С fdisk:

sudo fdisk /dev/XXX 
c # turn off DOS compatibility
u # switch to sector units
p # print current partitions, check that start sectors are multiples of 8

# for a new partition:
n # new partition
<select primary/secondary and partition #>
first sector: 2048 
  # 2048 is default in recent fdisk, 
  # and is compatible with Vista and Win 7, 
  # 4k-sector disks and all common RAID stripe sizes

Выравнивание файловой системы

Это в первую очередь относится к RAID (уровни 0, 5 и 6, а не уровень 1); файловая система работает лучше, если она создана со знанием размеров полосы.

Он также может использоваться для SSD, если вы хотите выровнять файловую систему с размером блока удаления SSD (Теодор Цо, разработчик ядра Linux).

В сообщении OP mkfs , по-видимому, автоматически обнаружил оптимальные настройки, поэтому никаких дополнительных действий не требовалось.

Если вы хотите проверить, для RAID используются следующие параметры:

  • размер блока (размер блока файловой системы, например 4096)
  • размер полосы (такой же, как размер блока mdadm, например, 64k)
  • Шаг: stripe size / block size (например, 64k / 4k = 16)
  • stripe-width: stride * #-of-data-disks (например, 4 диска RAID 5 - 3 диска данных, 16 * 3 = 48)

Из Linux Raid Wiki . См. Также этот простой калькулятор для разных уровней RAID и количества дисков.

Для выравнивания блока удаления SSD параметры:

  • размер блока fs (например, 4096)
  • Размер блока удаления SSD (например, 128k)
  • stripe-width: erase-block-size / fs-block-size (например, 128k / 4k = 32)

От сообщение SSOD от Theodore .

Выравнивание экстентов LVM

Потенциальная проблема заключается в том, что LVM создает заголовок 192k. Это кратно 4k (поэтому нет проблем с 4k-блочными дисками), но не может быть кратным размеру полосы RAID (если LVM работает на RAID) или размер блока стирания SSD (если LVM работает на SSD).

См. сообщение Теодора об обходном пути.

    
ответ дан j-g-faustus 31.12.2010 в 20:06
5

Я считаю этот способ самым легким

parted -a opt /dev/md0
(parted) u MiB
(parted) rm 1
(parted) mkpart primary 1 100%

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

(parted) mkpart primary ext4 1 -1
    
ответ дан AllGamer 27.11.2011 в 00:02
1

Кажется, что mkfs.ext4 хочет, чтобы файловые системы на вашем RAID запускались на границе 64 KiB. Если вы используете весь диск, он начинается с 0, что, конечно, также кратно 64 KiB ...

В настоящее время большинство инструментов для секционирования будут использовать по 1 границе MiB по умолчанию (fdisk, вероятно, нет).

Причиной этого является то, что большинство жестких дисков & amp; В SSD используются физические сектора на гораздо большем, чем логические сектора. Результатом этого является то, что если вы читаете логический сектор из 512 байт с диска, аппаратное обеспечение фактически должно считывать гораздо больший объем данных.

В случае вашего программного RAID-устройства происходит нечто подобное: данные на нем хранятся в «кусках» 64 KiB с настройками mdadm по умолчанию.

    
ответ дан JanC 21.10.2010 в 04:04