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

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

root@bondigas:~# 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

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

root@bondigas:~# 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
root@bondigas:~# ^C

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

19
задан 30 May 2012 в 08:20

4 ответа

Я считаю этот способ самым простым

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

, иначе альтернативный грязный метод просто пойдет так

0
ответ дан 30 May 2012 в 08:20

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

0
ответ дан 30 May 2012 в 08:20

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

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

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

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

0
ответ дан 30 May 2012 в 08:20

Так как выравнивание открывается в большом количестве мест -

  • "Усовершенствованный Формат" жесткие диски с 4k блоками
  • SSD
  • RAID
  • LVM

- Я расширюсь немного по вопросу.

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

"Linux на дисках 4kB-сектора" (IBM developerWorks) идет через шаги с fdisk, разделенным и 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 (Theodore Tso, разработчик ядра Linux).

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

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

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

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

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

  • размер блока фс (напр. 4096)
  • Размер блока стирания SSD (напр. 128k)
  • ширина дорожки: размер блока стирания / размер блока фс (напр. 128k / 4k = 32)

Из сообщения SSD Theodore.

Выравнивание степени LVM

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

См. сообщение Theodore для обходного решения.

17
ответ дан 30 May 2012 в 08:20

Другие вопросы по тегам:

Похожие вопросы: