Дискова підсистема Linux

  1. Матеріал з Xgu.ru Дана сторінка знаходиться в розробці . Ця сторінка ще не закінчена. Інформація,...
  2. [ правити ] Налагодження та оптимізація жорсткого диска
  3. [ правити ] Створення дискових розділів
  4. [ правити ] Дискові розділи більш 2TB
  5. [ правити ] Файлові системи
  6. [ правити ] Створення файлових систем
  7. [ правити ] Робота з файловими системами
  8. [ правити ] Відключення диска
  9. [ правити ] Робота з файлами як з блочними пристроями
  10. [ правити ] Експорт блокових пристроїв по мережі
  11. [ правити ] Системи управління томами
  12. [ правити ] Моніторинг та діагностика

Матеріал з Xgu.ru Дана сторінка знаходиться в розробці

.
Ця сторінка ще не закінчена. Інформація, представлена ​​тут, може виявитися неповною або неправильною.

Якщо ви вважаєте, що її варто було б доопрацювати якомога швидше, будь ласка, скажіть про це .

Короткий URL: linux / disk

[ правити ] Додавання нового диска

Головна сторінка: SATA hotplug

Додати новий диск можна в вимкненому систему або без її виключення, якщо система підтримує можливість гарячого підключення жорстких дисків.

Якщо мова йде про SATA-дисках, то їх можна спробувати підключити без виключення живлення.

Підключення диска:

% # Echo 0 0 0> / sys / class / scsi_host / host2 / scan ata2: exception Emask 0x10 SAct 0x0 SErr 0x50000 action 0x3 ata2: hard resetting port ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300) ata2.00: ATA-7: HDS725050KLA360, K2AOAD1A, max UDMA / 133 ata2.00: 976773168 sectors, multi 0: LBA48 NCQ (depth 0/32) ata2.00: configured for UDMA / 133 ata2: EH complete scsi 2: 0: 0: 0: Direct-Access ATA HDS725050KLA360 K2AO PQ: 0 ANSI: 5 SCSI device sdc: 976773168 512-byte hdwr sectors (500108 MB) sdc: Write Protect is off sdc: Mode Sense: 00 3a 00 00 SCSI device sdc: write cache: enabled, read cache: enabled, does not support DPO or FUA SCSI device sdc: 976773168 512-byte hdwr sectors (500108 MB) sdc: Write Protect is off sdc: Mode Sense: 00 3a 00 00 SCSI device sdc: write cache: enabled, read cache: enabled, does not support DPO or FUA sdc: sdc1 sdc2 sdc3 sd 2: 0: 0: 0: Attached scsi disk sdc

Або ж командою:

rescan-scsi-bus -l

Відключення диска:

% # Echo 1> / sys / block / sdc / device / delete ata2.00: disabled

[ правити ] Налагодження та оптимізація жорсткого диска

[ правити ] Проблеми з розміром диска

Диск великого розміру може визначатися як диск значно меншого розміру (причому, як в операційній системі, так і в BIOS). Наприклад, диск розміром 1TB може бути видно як диск розміром 33MB.

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

Проблема, швидше за все, пов'язана з механізмом HPA ( Host Protected Area ). Перевірити це можна за допомогою команди:

% $ Hdparm -N / dev / sdc

де / dev / sdc - ім'я проблемного жорсткого диска.

Результатом виконання команди повинно бути щось на зразок цього:

/ Dev / sdc: max sectors = некое_небольшое_чісло / 1953525168, HPA is enabled

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

% # Hdparm -N 1953525168 / dev / sdc

Ці зміни збережуться до перезавантаження.

Для того щоб зробити зміни постійними, необхідно дати команду:

% # Hdparm -Np 1953525168 / dev / sdc

Тобто, використовувати додатковий ключ p. У цьому випадку зміни стають постійними.

На старих ядрах (<2.6.28) команда може працювати не завжди коректно.

Детальніше про проблему і її вирішення: [1] .

[ правити ] Створення дискових розділів

[ правити ] Перечитать таблицю розділів

# partprobe

(з пакета parted).

Інші способи:

# Hdparm -z / dev / DISK # blockdev --rereadpt / dev / DISK # echo 1> / sys / block / DISK / device / rescan

Тут всюди замість DISK назву відповідного пристрою (sda, sdb, sdc).

[ правити ] Дискові розділи більш 2TB

Використовуйте GPT і parted.

Детальніше: [2] .

[ правити ] Файлові системи

ОС Linux підтримує величезну кількість різноманітних файлових систем. В каталозі fs / дерева вихідних кодів ядра знаходиться більше 60 підкаталогів, кожен з яких відповідає одній файлової системи. Крім цього, існує інтерфейс FUSE , Що забезпечує підтримку ще більшої кількості файлових систем, реалізованих не в просторі ядра (kernel level), а в просторі користувача (user level).

Традиційно файлові системи поділяють на чотири класи:

  • Локальні файлові системи;
  • Мережеві файлові системи;
  • Кластерні файлові системи;
  • Файлові системи спеціального призначення.

До основних локальним файловим системам Linux відносять:

  • ext2, ext3 і тепер ext4 , Яка з грудня 2008 року (ядро 2.6.28) вважається стабільною;
  • XFS ,
  • JFS ,
  • Reiserfs і Reiser4 .

Ведеться робота над файлової системою btrfs , Яка, можливо, увійде в число основних файлових систем Linux, але поки до цього ще далеко.

До основних мережевим файловим системам в Linux відносять:

  • NFS , Основна мережева файлова система в UNIX (в Linux підтримується як NFSv3, так і NFSv4);
  • CIFS

Також можна виділити файлову систему AFS , Підтримка якої в ядрі Linux істотно розвинулася за останній час.

Файлові системи відрізняються:

  • функціональністю;
  • продуктивністю;
  • надійністю;
  • ефективністю зберігання даних.

Для поліпшення цих та інших характеристик в файлових системах використовуються різні підходи, рішення і техніки, в тому числі:

[ правити ] Створення файлових систем

[ правити ] Монтування файлових систем

...

Для того щоб змонтувати файлову систему UFS2 (FreeBSD) в Linux в режимі read / write, Вам потрібно включити це в ядрі.

CONFIG_UFS_FS_WRITE = y

Детальніше [3] .

[ правити ] Робота з файловими системами

[ правити ] Скидання і очищення кешу

Запис Незбережені змін в кеші на диск:

% # Sync

Очистити кеш сторінок (pagecache):

% # Sync && echo 1> / proc / sys / vm / drop_caches

Очистити кеш каталогів та індексних дескрипторів:

% # Sync && echo 2> / proc / sys / vm / drop_caches

Очистити кеш сторінок, кеш каталогів та індексних дескрипторів:

% # Sync && echo 3> / proc / sys / vm / drop_caches

Детальніше: linux / Documentation / filesystems / proc.txt

Ця можливість з'явилася починаючи з ядра версії 2.6.16.

[ правити ] Відключення диска

[ правити ] Надійне видалення даних

Очищення першого розділу на першому диску (PATA | SATA), за допомогою:

dd:

Заповнення нулями:

dd if = / dev / zero of = / dev / sda1 bs = 1M

Заповнення псевдовипадковими даними:

dd if = / dev / urandom of = / dev / sda1 bs = 1M

bcwipe :

bcwipe -b -ms -v / dev / sda1

-b wipe special block device.

-ms use 7-pass Bruce Schneier's wiping scheme.

-v verbose output.

[ правити ] Робота з файлами як з блочними пристроями

Для того, щоб створити файлову систему в файлі, як в блоковому пристрої, досить задати його параметром в команді створення ФС.

Створення порожнього файлу:

dd if = / dev / zero of = / tmp / file.img bs = 1024k count = 100

Створення в ньому ФС:

mkreiserfs /tmp/file.img

Монтування файлу з ФС, як блочного пристрою:

mount -o loop /tmp/file.img / mnt / file_img_mount_point

Аналогічним чином можна монтувати iso-образи дисків і т.д.

[ правити ] Експорт блокових пристроїв по мережі

Детальніше:

Головна сторінка: RAID

[ правити ] Системи управління томами

Детальніше:

[ правити ] Моніторинг та діагностика

[ правити ] Моніторинг за допомогою SMART

% # Apt-get install smartmontools% # smartctl -i / dev / hda Device Model: IC35L120AVV207-0 Serial Number: VNVD02G4G3R72G Firmware Version: V24OA63A Device is: In smartctl database [for details use: -P show] ATA Version is: 6 ATA Standard is: ATA / ATAPI-6 T13 1410D revision 3a SMART support is: Available - device has SMART capability. SMART support is: Enabled

Аналогічним чином можна дивитися стан SCSI-дисків або масивів:

% # Smartctl -d cciss, 0 -a / dev / cciss / c0d0

тут:

  • cciss, 0 --- перший фізичний диск;
  • / Dev / cciss / c0d0 - контролер.

Інші способи дізнатися про стан дисків і масивів Smart Array перераховані тут [4] .


Детальніше:

[ правити ] Корисні програми

  • blockdev - виклик ioctl () для блокових пристроїв прямо з командного рядка
  • blkid - визначення атрибутів блокових пристроїв
  • hdparm - управління параметрами контролера IDE-дисків