Главная страница
Навигация по странице:

  • 5.2. Типы файловых систем

  • 5.4. Создание файловой системы UFS

  • 5.5. Восстановление файловой системы после сбоя

  • 5.6. Монтирование и демонтирование файловой системы

  • Опции монтирования большинства файловых систем

  • 5.7. Другие команды для работы с файловой системой

  • 5.9. Пространство виртуальной памяти

  • Пример файла /etc/vfstab (фрагмент)

  • 5.11. Файловая система NFS

  • Пример файла

  • 5.12. Создание резервных копий

  • Практикум_OC_Linux. Ос unixлабораторный практикум


    Скачать 0.57 Mb.
    НазваниеОс unixлабораторный практикум
    Дата25.09.2022
    Размер0.57 Mb.
    Формат файлаpdf
    Имя файлаПрактикум_OC_Linux.pdf
    ТипПрактикум
    #695123
    страница4 из 6
    1   2   3   4   5   6
    АДМИНИСТРИРОВАНИЕ ФАЙЛОВЫХ СИСТЕМ
    В UNIX файлы организованы в виде древовидной структуры, называемой файловой системой. В UNIX все файловые системы имеют два основных компонента – файл и каталог.
    Корнем дерева файловой системы является корневой каталог (/).
    В большинстве случаев файловое дерево (в том виде, как видит его пользователь), составлено из нескольких отдельных файловых систем, которые могут иметь различную файловую структуру, а файлы, принадлежащие этим файловым системам, могут распола- гаться на различных устройствах. Подсоединение корня файловой системы к каталогу коневой файловой системы называют монтиро- ванием, отсоединение – демонтированием.
    Каждый файл имеет связанные с ним метаданные (хранящиеся в индексных дескрипторах – inode
    ), содержащие все характери- стики файла. Имя файла связано с индексным дескриптором по- средством специального файла – каталога.
    5.1. Типы файлов
    В UNIX существует шесть типов файлов, различающихся по функциональному назначению и действиям ОС при выполнении тех или иных действий над файлами:
    - обычный файл (regular file)
    - каталог (directory)
    - специальный файл устройства (special device file)
    - именованный каталог (named pipe)
    - символическая ссылка (link)
    - сокет (socket)
    5.2. Типы файловых систем
    ОС Solaris использует файловые системы: UFS, ZFS, HSFS,
    PCFS, UDFS, и сетевую файловую систему NFS, причем UFS ис- пользуется в Solaris по умолчанию, tmpfs
    – файловую систему в памяти и lofs
    – файловую систему обратной связи, procfs
    – файловую систему процессов и др.
    38

    На диске может размещаться несколько файловых систем. Раз- дел диска, где может быть размещена файловая система, в ОС
    Solaris назван slice
    . Таблица размещения разделов (
    VTOC
    ) располагается в первом секторе диска и отображается командой prtvtoc.
    Для создания и изменения таблицы разделов используется диалоговая программа format
    . Раздел 2 соответствует всему диску. Программа format служит также для анализа поверхности диска и его форматирования.
    Доступ к разделам осуществляется через специальные файлы, расположенные в
    /dev/rdsk/*
    (байт-ориентированные) и
    /dev/dsk/* (блочно-ориентированные, т.е. после форматирова- ния).
    Для SCSI-дисков наименование специальных файлов имеют вид сAtBdCsD
    , где
    A
    – номер контроллера,
    B
    – логический номер устройства (LUN),
    C
    – номер диска, обычно 0,
    D
    – номер раздела.
    5.3. Структура UFS
    Описание элементов файловой системы UFS приведено в табл.5.1.
    Таблица 5.1
    Элемент
    Описание
    Primary Su- perblock
    Содержит описание файловой системы, рас- полагается в одном секторе и содержит:

    Число блоков данных

    Число групп цилиндров

    Размер блока данных и размер фраг- мента данных

    Название точки монтирования

    Флаги состояния файловой системы
    39

    Продолжение таблицы 5.1
    Элемент
    Описание
    Backup
    Superblock
    Резервная копия суперблока
    Cylinder
    Group Block
    Блок данных, описывающий состояние груп- пы цилиндров и содержащий информацию:

    Число inode

    Число блоков данных в группе

    Число каталогов в группе

    Число свободных блоков, inode, фраг- ментов

    Карту свободных блоков

    Карту свободных inode
    Inode Table
    Список inode для группы цилиндров
    Data Block
    Блоки данных. Размер блока по умолчанию
    8192 байта
    Структура inode
    Индексный дескриптор (inode) содержит следующие данные:

    Тип файла

    Права доступа

    UID владельца файла

    GID группы владельца файла

    Размер файла

    Дата создания файла

    Число жестких ссылок на файл

    Число занятых блоков на файл

    12 прямых указателей на блоки данных
    40


    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 анонимного пользователя (вместо no- body
    )
    Спецификации узлов, которым разрешено импортировать файловую систему:
    .ххх.ххх
    - любой узел в домене,
    имя
    - компьютер в домене,
    @адрес
    - сеть,
    - (дефис)
    - исключая.
    Элементы списка отделяются символом :(двоеточие).
    Пример
    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
    largefiles – поддержка файлов размером более 2 Гбайт proto=... – используемый протокол (
    tcp или udp
    ),
    rsize=... wsize=... – размер буферов чтения/записи,
    retry=... – число попыток монтирования,
    quota включить поддержку пользовательских квот.
    Пример
    mount -F nfs -o rw,soft,quota moon:/pub /moon/pub
    В примере экспортируемый машиной moon каталог /pub монти- руется в каталог /moon/pub. Для автоматического монтирования можно добавить строку в /etc/vfstab.
    Пример файла /etc/vfstab (фрагмент)
    #device device mount
    FS
    fsck mount mount
    #to mount to fsck point type pass at boot opt moon:/pub
    - /moon/pub nfs
    - yes rw,soft,quota
    Программа nfsstat может быть использована для отображения статистической информации, касающейся NFS.
    5.12. Создание резервных копий
    Надежность аппаратной платформы, применение RAID масси- вов, журналируемых файловых систем позволяет практически пол- ностью защититься от аппаратного сбоя. Но при этом всегда оста- ется вероятность ошибки оператора, который случайно удалил важные файлы. Именно для защиты от таких угроз следует выпол- нять резервное копирование важных данных. В состав ОС Solaris входит набор важных утилит, с помощью которых администратор может выполнить резервное копирование (табл.5.7)
    Программа ufsdump предназначена для многоуровневого ин- крементального резервного копирования. Предусмотрены уровни от 0 до 9, 0 означает полное копирование.
    51

    Таблица 5.7
    Команда
    Описание ufsdump
    Создание резервной копии файловой системы UFS
    ufsre- store
    Восстановление данных с резервной копии файло- вой системы UFS
    tar
    Создание архива каталога cpio
    То же dd
    Двоичное копирование. Может работать со специ- альными файлами
    1   2   3   4   5   6


    написать администратору сайта