Ктитров Администрирование ОЦ УНИХ 2007
.pdf∙1 косвенный указатель первого уровня на блок данных (содержит 2048 прямых указателей)
∙1 косвенный указатель второго уровня на блок данных (содержит 2048 косвенных указателей первого рода)
∙1 косвенный указатель третьего уровня на блок данных (содержит 2048 косвенных указателей второго рода)
∙указатель на shadow inode, который содержит ACL для файла
Номер i-node файла можно посмотреть командой ls –i.
Для сокращения потерь при хранении файлов используется хранение фрагментов разных файлов в одном блоке. Допускаются фрагменты 1/8, ¼, ½, 1 части блока данных. У каждого файла может быть только один фрагмент.
5.4. Создание файловой системы UFS
Для создания файловой системы используются команды mkfs и newfs (формирует параметры для mkfs, может использоваться для создания файловой системы с параметрами по умолчанию).
Пример
newfs -F ufs /dev/rdsk/c0t0d0s1
При создании файловой системы можно задать следующие параметры:
-b – размер блока данных
-c – число цилиндров в группе
-С – максимальное число логических блоков, размещенных последовательно
-f fragsize – размер фрагмента
-i nbpi – число байтов на i-node, по умолчанию
используется
<1Gb 2048 <2Gb 4096 <3Gb 6144
41
<1Tb |
8192 |
>1Tb |
1048576 |
-m free – часть свободного пространства (в процентах), резервируемый для root
-s size – размер
Тип файловой системы по умолчанию указан в файле
/etc/default/fs:
LOCAL=ufs
Настройка стратегии размещения данных производится с помощью программы tunefs. Опции команды tunefs:
-a maxcontig |
– максимальное число блоков данных, |
принадлежащих одному файлу, размещаемых непрерывно |
|
-m minfree – |
минимальный процент свободного пространства, |
при котором пользователи могут создавать файлы
-o space|time – стратегия оптимизации (по умолчанию time)
5.5. Восстановление файловой системы после сбоя
Восстановление целостности файловой системы производится утилитой fsck. Восстановление файлов или их фрагментов, связь
блоков данных которых с их названием утрачена, производится в каталог /lost+found, созданный при форматировании файловой
системы. Программа fsck требует указания байт-ориентированного файла и производит действия над немонтированной файловой системой. Программа переносит изменения на диск в конце работы, поэтому в интерактивном режиме от изменений можно отказаться до вопроса о записи данных на диск. При повреждении суперблока может быть указан резервный (-b=№. Гарантированный альтерна-
тивный номер суперблока 32). После внесения изменений следует перезагрузить систему.
5.6. Монтирование и демонтирование файловой системы
Информация о том, какие файловые системы следует монтировать при загрузке, содержится в файле /etc/vfstab. Формат
файла /etc/vfstab описан в табл. 5.2.
42
|
Таблица 5.2 |
Поле |
Описание |
|
|
Device to |
Устройство, которое следует монтировать |
mount |
|
Device to |
Устройство, которое следует проверять в слу- |
fsck |
чае сбоя |
Mount point |
Точка монтирования |
FS type |
Тип файловой системы на устройстве |
FS pass |
Проверять ли состояние файловой системы |
|
при загрузке |
Mount at |
Автоматически монтировать при загрузке или |
boot |
нет |
Mount op- |
Список опций монтирования через запятую |
tions |
|
Команды монтирования и демонтирования файловых систем приведены в табл. 5.3.
|
Таблица 5.3 |
Команда |
Описание |
|
|
mount |
Монтирует заданные файловые системы и ди- |
|
станционные ресурсы. |
mountall |
Монтирует все файловые системы, заданные |
|
в таблице файловых систем vfstab. |
umount |
Демонтирует заданные файловые системы. |
umountall |
Демонтирует все файловые системы, задан- |
|
ные в таблице файловых систем vfstab. |
Информация о смонтированных файловых системах помещает-
ся в файл /etc/mnttab в виде
спецфайл точка монтирования типФС опции время
если не использовалась опция -m. Формат команды:
43
mount –F type общие_опции –o опции_данной_фс спец_файл точка_ монтирования
Если запись о паре спец_файл/точка_монтирования имеется в файле /etc/fstab, можно ограничиться чем-то одним. Оп-
ции команды: |
|
-m |
– монтировать без помещения в /etc/mnttab, |
-f |
– принудительное монтирование, |
-a |
– все системы из файла /etc/fstab, |
-p |
– печатать список в формате /etc/fstab, |
-o опции – задать опции монтирования файловой системы, |
|
–l |
– монтировать только локальные файловые системы, |
-a –t тип |
– монтировать файловые системы только |
||
указанного типа. |
|
||
Опции монтирования большинства файловых систем |
|||
ro |
– запрещена запись в файловую систему, |
||
rw |
– чтение и запись разрешены, |
||
quota, noquota – |
поддержка квот включена/отключена, |
||
rq = rw, quota – |
сокращенная запись, |
||
noatime – |
не модифицировать метки времен доступа к |
||
|
|
файлам (слегка повышает производительность), |
nosuid – запрещено изменять права запускаемого процесса на права владельца файла (обычно используется при импорте файловых систем),
logging/nologging – включение/отключение поддержки журналирования в системе UFS Solaris.
Файловая система может быть демонтирована, если ни один из ее файлов не используется, а ни один из каталогов не является текущим ни для одного процесса. Определить причины ошибки при демонтировании можно с помощью команды fuser, показывающей PID процессов, работающих с файлом или ФС вместе с кодами (см.таблицу 5.4).
44
Таблица 5.4
cПроцесс имеет текущий каталог в данной файловой системе.
e |
Из данной файловой системы запущена программа. |
o |
Имеется открытый файл. |
rПроцесс имеет корневой каталог в файловой системе.
m |
Имеется отображаемый на память файл. |
n |
Установлена обязательная блокировка. |
-k |
Уничтожить процесс, занявший файловую систему. |
-s sig |
Послать сигнал процессу, занимающиму файловую |
|
систему. |
-i |
Подтверждение. |
-u |
Указывать имя пользователя. |
5.7. Другие команды для работы с файловой системой
Другие команды, полезные при администрировании файловых систем, приведены в табл. 5.5.
|
Таблица 5.5 |
fstyp |
-v Просмотр всех параметров ФС |
sync |
Синхронизирует данные на в памяти и на диске |
|
при буферизации опрераций с файловой системой |
df |
Отображение дискового пространства, используе- |
|
мого ФС |
du |
Отображение информации о размерах каталогов |
|
(текущей ФС) |
45
5.8. Дисковые квоты
Дисковые квоты – это ограничения, накладываемые на пользователя в многопользовательской системе по использованию файловой системы. Для каждой файловой системы квоты устанавливаются независимо.
Чтобы задействовать квоты в файловой системе, требуется
–создать в её корне файл: touch quotas ,
владельцем которого является root c правами доступа rw-------.
–монтировать систему с опцией quota (указать её в
/etc/vfstab)
–установить квоту для пользователя программой edquota user.
Разделяют жесткие и мягкие квоты. Жесткая квота превышена быть не может. Мягкая квота (должна быть меньше) может быть превышена в течение ограниченного времени. Если пользователь за время “благожелательности” не устранил превышение мягкой квоты, жесткая квота становится равной мягкой.
Квоты устанавливаются на объем файлов (в блоках по 1024 байта) и на их количество (число индексных дескрипторов) программой edquota в формате:
fs точка монтирования blocks (soft=…, hard=…) inоdes ( soft=…,hard=…)
где soft означает параметр, относящийся к мягкой квоте, а hard– к жесткой.
Если для нескольких пользователей квоты должны быть установлены одинаковыми, можно воспользоваться заданием по
образцу:
edquota –p user1 user2
Время превращения мягкой квоты в жесткую устанавливается командой edquota –t в формате
fs точка_монтир blocks time limit=…, files time limit=…
Единицу измерения указывают ключевым словом week,day, month,hour,min,sec. Дополнительные символы игнорируют-
46
ся, поэтому допустимо weeks. По умолчанию период благожела-
тельности равен неделе, уточнить умолчание можно в файле
/usr/include/sys/fs/ufs_quota.h .
Другие команды для работы с квотами указани в табл. 5.6.
|
Таблица 5.6 |
Команда |
Описание |
|
|
quotacheck |
Перестроить файлы квот, полезно, если квоты |
|
вводятся в файловой системе, уже содержащей |
|
файлы |
|
|
quota |
Выдает информацию о действующих квотах |
quotaon |
Включает использование квот в файловой системе |
|
|
quotaoff |
Выключает использование квот в файловой систе- |
|
ме |
|
|
5.9. Пространство виртуальной памяти
Виртуальная память может быть представлена как разделом на диске, так и файлом. Раздел на диске указывается в файле /etc/vfstab, является основным и обычно подключается при
старте системы.
Дополнительное пространство виртуальной памяти может быть получено в виде файла в файловой системе.
Получить информацию о конфигурации виртуальной памяти можно командой swapfs.
Файл для использования виртуальной памятью создается командой
mkfile nnn[k|b|m] filename,
где k,b,m – единицы измерения, и затем регистрируется в системе командой:
swap –a /path/filename
Отключить виртуальную память в файле можно командами:
47
swap –d filename rm filename
Файл также можно указать в /etc/vfstab. В качестве устройства указывается полное путевое имя, тип файловой системы swap.
Пример файла /etc/vfstab (фрагмент)
#device |
device |
mount |
FS |
fsck |
mount |
mount |
#to mount |
to fsck |
point |
type |
pass |
at boot |
opt |
/dev/dsk/c0t0d0s0 - |
- |
swap |
- |
no |
- |
|
/virt/sw1 |
- |
- |
swap |
- |
no |
- |
5.10. Работа со сменными носителями
Файловая система FAT/FAT32 в ОС Solaris имеет наименование pcfs, а CD-ROM соответственно hsfs. Чаще всего поддержка pcfs используется применительно к дискетам, но раздел FAT в
системе c архитектурой x86 может быть также смонтирован (при этом в наименовании файла устройства имеются некоторые особенности):
mount –F pcfs /dev/dsk/c0t0d0p0:C /pcfs/C
Дискета может быть отформатирована как в pcfs, так и в ufs программой fdformat.
Так как процесс монтирования любой файловой системы командой mount требует полномочий суперпользователя, то для ра-
боты с дискетами и CD-ROM в Solaris предусмотрен специальный демон, который подключает/отключает файловые системы – менеджер томов vold. Команды настройки vold приведены в
табл.5.7.
|
Таблица 5.7 |
|
Команда |
Описание |
|
|
|
|
rmmount |
Монтирование сменных носителей информации |
|
volcan- |
Отмена запроса пользователя на доступ к ФС на |
|
cel |
сменном носителе |
|
volcheck |
Проверка наличия носителя информации на |
|
|
устройстве |
|
48
|
Продолжение таблицы 5.7 |
|
Команда |
Описание |
|
volmiss- |
Действие, которое выполняется при попытке до- |
|
ing |
ступа к устройству с отсутствующим носителем |
|
vold |
Демон менеджера томов, который управляется |
|
|
файлом /etc/vold.conf |
Для извлечения носителя из дисковода используется команда eject.
В системе имеются синонимы: floppy0 – дискета,
cdrom0 – компакт диск.
Примеры
Копирование на дискету с запущенным демоном vold
1.Вставляем дискету в дисковод.
2.Проверяем: volcheck /floppy/floppy0.
4. Переписываем файл на дискету:
cp /export/home/user1/file /floppy/floppy0. 5. Отключаем дискету: eject floppy.
Копирование на дискету без демона vold
1.Вставляем дискету в дисковод.
2.Подключаем дискету:
mount –F pcfs /dev/fd0 /floppy/floppy0. 4. Переписываем файл на дискету:
cp /export/home/user1/file /floppy/floppy0.
5.Отключаем дискету: umount /floppy/floppy0.
5.11.Файловая система NFS
NFS – сетевая файловая система – позволяет совместно использовать фрагмент файловрй системы несколькими компьютерами.
Экспорт файловой системы осуществляется командой share, отмена экспорта – командой unshare. Набор команд share хранится в файле /etc/dfs/dfstab и выполняется по команде
49
shareall. Можно экспортировать отдельный каталог. Несколько файловых систем не могут быть экспортированы одной командой.
Опции экспорта:
ro |
– |
экпорт только для чтения, |
rw |
– |
допустимы чтение и запись, |
nosub – |
запрет монтирования подкаталогов, |
nosuid – запрет выполнения программ отимени владельца и доступа к специальным файлам,
anon – указывает uid анонимного пользователя (вместо nobody).
Спецификации узлов, которым разрешено импортировать
файловую систему: |
|
|
.ххх.ххх |
- |
любой узел в домене, |
имя |
- |
компьютер в домене, |
@адрес |
- |
сеть, |
- (дефис) |
- |
исключая. |
Элементы списка отделяются символом :(двоеточие).
Пример
share -F nfs -o rw=.mephi.ru:-@192.168.12.0/24 -o nosuid /export/home
Импорт файловой системы NFS клиентом производится командой mount, которая также осуществляет монтирование.
Указываемый тип файловой системы – nfs, опции монтирова-
ния: |
– запрет/разрешение записи в импортированной |
ro | rw |
|
файловой системе, |
|
fg | bg |
– монтирование в фоновом или обычном режиме, |
hard – если сервер не отвечает на запросы, продолжать попытки, soft – если сервер не отвечает на запросы, сообщить об ошибке, intr –возможно прерывание с клавиатуры заблокированного процесса, осуществляющего доступ к NFS,
nointr – процесс прервать нельзя,
50