English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Качество управления дисками в Linux напрямую влияет на производительность системы
Три часто используемых команды управления дисками в Linux: df, du и fdisk
df: перечисляет общее использование дискового пространства файловой системы
du: проверяет использование дискового пространства
fdisk: используется для разделения дисков
Функция параметров команды df: проверка использования дискового пространства файловой системы. можно использовать эту команду, чтобы получить информацию о том, сколько места занято на диске, сколько места еще осталось и т.д.
Синтаксис:
df [-ahikHTm] [каталог или имя файла]
Опции и параметры:
-a :отображать все файловые системы, включая системные, такие как /proc и т.д.
-k :отображать емкость всех файловых систем в KBytes
-m :отображать емкость всех файловых систем в MBytes
-h :отображать в более удобном для чтения формате GBytes, MBytes, KBytes и т.д.
-H :использовать M=1000K вместо M=1024K для позиционного разбиения
-T :отображать тип файловой системы, включая имя filesystem partitions (например, ext3)
-i :не использовать емкость диска, а отображать количество inodes
Перечислить все файловые системы системы
[root@www ~]# df Файловая система 1K-блока Использовано Доступно Использование% Подключено на /dev/hdc2 9920624 3823112 5585444 41% / /dev/hdc3 4956316 141376 4559108 4% /home /dev/hdc1 101086 11126 0 84741 12% /boot tmpfs 371332 0 371332 0% /dev/shm
Под Linux, если df не указан ни один параметр, по умолчанию будет отображаться вся (без файловых систем в специальных областях памяти и swap) все перечисляются по емкости 1 Kbytes!
Отображать результаты емкости в удобном для чтения формате емкости
[root@www ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/hdc2 9.5G 3.7G 5.4G 41% / /dev/hdc3 4.8G 139M 4.4G 4% /home /dev/hdc1 99M 11M 83M 12% /boot tmpfs 363M 0 363M 0% /dev/shm
Список всех специальных форматов файлов и их имен в системе
[root@www ~]# df -aT Filesystem Type 1K-blocks Used Available Use% Mounted on /dev/hdc2 ext3 9920624 3823112 5585444 41% / proc proc 0 0 0 - /proc sysfs sysfs 0 0 0 - /sys devpts devpts 0 0 0 - /dev/pts /dev/hdc3 ext3 4956316 141376 4559108 4% /home /dev/hdc1 ext3 101086 11126 84741 12% /boot tmpfs tmpfs 371332 0 371332 0% /dev/shm none binfmt_misc 0 0 0 - /proc/sys/fs/binfmt_misc sunrpc rpc_pipefs 0 0 0 - /var/lib/nfs/rpc_pipefs
Отображение доступного дискового пространства под /etc в удобном для чтения формате
[root@www ~]# df -h /etc Filesystem Size Used Avail Use% Mounted on /dev/hdc2 9.5G 3.7G 5.4G 41% /
Команда Linux du также используется для просмотра занимаемого места, но в отличие от команды df, команда Linux du используется для просмотра места, занимаемого файлами и каталогами, и у нее есть некоторые отличия от команды df, поэтому здесь介绍 команду Linux du.
Синтаксис:
du [-ahskm] имя_файла_или_каталога
Опции и параметры:
-a :Перечислить объем всех файлов и каталогов, так как по умолчанию учитывается только объем файлов в каталогах.
-h :Выводить объем в более удобном для чтения формате (G/M);
-s :Перечислить только общее количество, не перечисляя занимаемое место каждого отдельного каталога;
-S :Не включать общее количество в подкаталогах, имеет некоторые отличия от -s.
-k :Выводить объем в KBytes;
-m :Выводить объем в MBytes;
Перечислить объем всех каталогов в текущем каталоге (включая скрытые каталоги):
[root@www ~]# du 8 ./test4 <== Выводится каждый каталог 8 ./test2 ....Пропущены中间ние разделы.... 12 ./.gconfd <== Включая каталоги с скрытыми файлами 220 . <== Общий объем, занимаемый этим каталогом (.)
Если ввести du без добавления никаких опций, то du проанализирует занимаемое место файлов и каталогов в текущем каталоге.
Перечислить размер файлов
[root@www ~]# du -a 12 ./install.log.syslog <== Теперь есть список файлов 8 ./.bash_logout 8 ./test4 8 ./test2 ....Пропущены中间ние разделы.... 12 ./.gconfd 220 .
Проверка занимаемого места каждым каталогом в корневом каталоге
[root@www ~]# du -sm /* 7 /bin 6 /boot .....Пропущены中间ние разделы.... 0 /proc .....Пропущены中间ние разделы.... 1 /tmp 3859 /usr <== Самый большой размер системы на начальном этапе именно он! 77 /var
Символы подстановки * для представления каждого каталога.
В отличие от df, команда du на самом деле напрямую搜寻文件系统 для всех файлов.
fdisk — это инструмент для работы с таблицей разделов дисков в Linux.
Синтаксис:
fdisk [-l] имя_устройства
Опции и параметры:
-l :Вывод всех разделов устройства, которое следует за ним. Если используется только fdisk -l, Тогда система будет перечислять все разделы устройств, которые она может найти.
Вывод всех информации о разделах
[root@AY120919111755c246621 tmp]# fdisk -l Диск /dev/xvda: 21.5 ГБ, 21474836480 байт 255 головок, 63 сектора/трек, 2610 цилиндров Единицы = цилиндры 16065 * 512 = 8225280 байт Размер сектора (логический/физический): 512 байт / 512 байт Размер I/O (минимальный/оптимальный): 512 байт / 512 байт Идентификатор диска: 0x00000000 Device Boot Start End Blocks Id System /dev/xvda1 * 1 2550 20480000 83 Linux /dev/xvda2 2550 2611 490496 82 Linux swap / Solaris Диск /dev/xvdb: 21.5 ГБ, 21474836480 байт 255 головок, 63 сектора/трек, 2610 цилиндров Единицы = цилиндры 16065 * 512 = 8225280 байт Размер сектора (логический/физический): 512 байт / 512 байт Размер I/O (минимальный/оптимальный): 512 байт / 512 байт Идентификатор диска: 0x56f40944 Device Boot Start End Blocks Id System /dev/xvdb2 1 2610 20964793+ 83 Linux
Найдите диск, на котором находится корневая директория вашей системы, и изучите相关信息 на этом диске
[root@www ~]# df / <== Обратите внимание: важно найти имя диска Файловая система 1K-блока Использовано Доступно Исп% Монтировано на /dev/hdc2 9920624 3823168 5585388 41% [root@www ~]# fdisk /dev/hdc <== Обратите внимание, не добавляйте цифры! Число цилиндров для этого диска установлено в 5005 В этом ничего плохого нет, но это больше, чем 1024 и может вызывать проблемы в некоторых конфигурациях с: 1) программное обеспечение, которое запускается при загрузке системы (например, старые версии LILO) 2) Программное обеспечение для загрузки и разделения диска из других ОС (например, DOS FDISK, OS/2 FDISK) Команда действия (m для справки): <== Ждем вашего ввода!
Введите m, и вы увидите описание этих команд
Команда действия (m для справки): m <== Введите m, и вы увидите описание этих команд Команда действия a <== Переключить флаг загрузки b <== Редактировать таблицу диска BSD c <== Переключить флаг совместимости DOS d <== Удалить раздел <== Удалить раздел l <== Список известных типов разделов m <== Вывести это меню n <== Добавить новый раздел <== Добавить новый раздел o <== Создать новую пустую таблицу разделов DOS p <== Вывести таблицу разделов <== Отобразить таблицу разделов на экране q <== Выход без сохранения изменений <== Выход из программы fdisk без сохранения изменений s <== Создать новую пустую таблицу Sun disklabel t <== Изменить системный идентификатор раздела u <== Изменить единицы отображения/ввода v <== Проверить таблицу разделов w <== Записать таблицу разделов на диск и выйти <== Записать последние действия в таблицу разделов x <== Дополнительные функции (только для специалистов)
При выходе из fdisk нажмите q, и все действия не будут применены! Напротив, нажатие w означает, что действия будут применены.
Команда (m для справки): p <== Здесь можно вывести текущее состояние диска Диск /dev/hdc: 41.1 ГБ, 41174138880 байт <== Название файла и размер этого диска 255 heads, 63 sectors/track, 5005 cylinders <==Размер магнитных головок, секторов и цилиндров Units = cylinders of 16065 * 512 = 8225280 bytes <==Размер каждого цилиндра Device Boot Start End Blocks Id System /dev/hdc1 * 1 13 104391 83 Linux /dev/hdc2 14 1288 10241437+ 83 Linux /dev/hdc3 1289 1925 5116702+ 83 Linux /dev/hdc4 1926 5005 24740100 5 Extended /dev/hdc5 1926 2052 1020096 82 Linux swap / Solaris # имя устройства загрузочный сектор начальный цилиндр окончательный цилиндр размер 1K система в слоте раздела диска Command (m for help): q
Хотите выйти без сохранения? Нажмите q! Не нажимайте w случайно!
Используйте p, чтобы列出 информацию о таблице разделов текущего диска, верхняя часть этой информации показывает состояние всего диска.
После завершения разделения диска следующим шагом является форматирование файловой системы, команда для форматирования очень проста, используется команда mkfs (make filesystem).
Синтаксис:
mkfs [-t формат файловой системы] имя устройства
Опции и параметры:
-t :можно указать формат файловой системы, например ext3, ext2, vfat и т.д. (действителен только если система поддерживает)
Просмотрите支持的 файловые форматы mkfs
[root@www ~]# mkfs[tab][tab] mkfs mkfs.cramfs mkfs.ext2 mkfs.ext3 mkfs.msdos mkfs.vfat
Нажмите две [tab], и вы увидите支持的 mkfs файловые форматы, как показано выше.
Форматируйте раздел /dev/hdc6 (можно указать свой раздел) в файловую систему ext3:
[root@www ~]# mkfs -t ext3 /dev/hdc6 mke2fs 1.39 (29-May-2006) Метка файловой системы= <== это имя раздела (label) Тип ОС: Linux Размер блока=4096 (log=2) <== размер блока настроен на 4K Размер фрагмента=4096 (log=2) 251392 инода, 502023 блока <== количество инодов/block определяемое конфигурацией 25101 блоков (5.00%) зарезервировано для суперпользователя Первый блок данных=0 Максимальное количество блоков файловой системы=515899392 16 групп блоков 32768 блоков на группу, 32768 фрагментов на группу 15712 инодов на группу Резервные копии суперблока хранятся на блоках: 32768, 98304, 163840, 229376, 294912 Запись таблицы инodów: завершено Создание журнала (8192 блоков): завершено <== есть журнальная запись Запись суперблоков и информации о файловой системе: завершено Эта файловая система будет автоматически проверяться каждые 34 монтирования или 180 дней, whichever comes first. Используйте tune2fs -c или -i для отмены. Вот и создан所需要的 Ext3 файловая система! Проще не бывает!
fsck (file system check) используется для проверки и обслуживания несоответствующих файловых систем.
Если система失去了电力或磁盘出现问题,可以利用fsck命令检查文件系统。
Синтаксис:
fsck [-t файловая система] [-ACay] имя устройства
Опции и параметры:
-t: Указывает тип файловой системы, если он уже определен в /etc/fstab или поддерживается ядром, то этот параметр не требуется
-s: По порядку выполняет команды fsck для проверки
-A: Проверяет все разделы, перечисленные в /etc/fstab
-C: Отображает полный процесс проверки
-d: Выводит результаты отладки e2fsck
-p: При наличии условия -A выполняется вместе с несколькими проверками fsck
-R: При наличии условия -A пропускается / не проверяется
-V: Режим подробного отображения
-a: Если при проверке обнаружены ошибки, они автоматически исправляются
-r: Если при проверке обнаружены ошибки, пользователь отвечает на вопрос о修复е
-y: Опция указывает на автоматическое ввод yes для проверки каждого файла, и при неопределенности можно выполнить # fsck -y для проверки и исправления всех.
Просмотрите, сколько файловых систем поддерживает команду fsck:
[root@www ~]# fsck[tab][tab] fsck fsck.cramfs fsck.ext2 fsck.ext3 fsck.msdos fsck.vfat
Принудительная проверка раздела /dev/hdc6:
[root@www ~]# fsck -C -f -t ext3 /dev/hdc6 fsck 1.39 (29 мая 2006 года) e2fsck 1.39 (29 мая 2006 года) Пас 1: Проверка инodów, блоков и размеров Пас 2: Проверка структуры каталога Пас 3: Проверка связи каталогов Пас 4: Проверка счетчиков ссылок Пас 5: Проверка групповой информации vbird_logical: 11/251968 файлов (9.1% неконтiguous), 36926/1004046 блоков
Если не включен параметр -f, то, так как файловая система никогда не возникала с проблемами, процесс проверки проходит очень быстро! Если включен параметр -f для принудительной проверки, процесс будет отображаться по пунктам.
Монтирование дисков в Linux выполняется с помощью команды mount, а снятие — с помощью команды umount.
Синтаксис команды монтирования диска:
mount [-t файловая система] [-L имя метки] [-o дополнительные параметры] [-n] имя устройства точка монтирования
По умолчанию, новый созданный /dev/hdc6 будет смонтирован на /mnt/hdc6!
[root@www ~]# mkdir /mnt/hdc6 [root@www ~]# mount /dev/hdc6 /mnt/hdc6 [root@www ~]# df Файловая система 1K-блока Использовано Доступно Исп% Монтировано на .....Пропущено..... /dev/hdc6 1976312 42072 1833836 3% /mnt/hdc6
Синтаксис команды卸载 диска umount:
umount [-fn] имя устройства или точки монтирования
Опции и параметры:
-f: принудительное удаление! Используется в случае, когда не удается читать из подобной файловой системы (NFS);
-n: Не обновлять /etc/mtab при удалении.
Снятие /dev/hdc6
[root@www ~]# umount /dev/hdc6