Любимые хитрости разбиения и монтажа

15

Мы все знаем, что монтирование нового раздела как / home и, возможно, / boot чрезвычайно полезно. Или монтирование удаленного каталога как / opt может быть хорошим для совместного использования системных инструментов. Существуют ли другие, может быть, более эзотерические способы использования дополнительных разделов или жестких дисков или изящных способов монтирования внешних томов? Может быть, даже если у кого-то есть машины с Windows * shudder *, опубликуйте несколько интересных трюков, связанных с разметкой и установкой жесткого диска.

Falmarri
источник

Ответы:

12

FUSE (Файловая система в USErspace) позволяет многим вещам быть доступными как обычные файлы (ни в коем случае не исчерпывающий список):

Существует также много файловых систем FUSE, которые представляют вид другой файловой системы с фильтрацией, переименованием или измененными метаданными или контентом:

  • Сохраняйте копии всех прошлых версий файлов с copyfs , waybackfs , ...
  • Записывать каждое действие с помощью loggedfs
  • Прозрачное шифрование файлов с помощью Encfs
  • Конвертировать аудио контент с mp3fs
  • Просмотр только для чтения или изменение разрешений с помощью bindfs
  • Смотрите частичное представление только для чтения с фильтром rofs
  • Преобразуйте наборы символов имени файла с convmvfs
  • Получите представление без учета регистра с помощью ciopfs

Больше возможностей на сайте FUSE и в других местах. Вы также можете легко определить свои собственные в Erlang , Haskell , Lisp , Lua , Ocaml , Perl , Python , ...

Жиль "ТАК - прекрати быть злым"
источник
10

У большинства устройств есть менеджер логических томов . Используй это.

  • Файловые системы теперь обозначаются значимыми именами (например /dev/mapper/darkstar-home), а не буквами дисков (например /dev/sda1, упс, теперь, /dev/sdb1потому что я загрузился с подключенным внешним диском) или с безопасными, но бессмысленными UUID.

  • Хотите переместить файловую систему на другой диск? Создайте физический том на новом диске, добавьте его в группу томов и переместите логический том на новый физический том. Все сделано без простоя, не требуется демонтаж.

  • Когда вы делаете резервную копию, сделайте снимок диска и запустите его из снимка. Таким образом, резервное копирование представляет собой согласованное представление о файловой системе (т. Е. Действительно был момент времени, когда файловая система находилась в этом состоянии). Это не распространяется на наивные резервные копии (например, резервное копирование файла A, затем программа изменяет сначала A, затем B, затем резервное копирование B: резервная копия имеет новый B и старый A).

  • Нужно увеличить файловую систему? Логические тома не должны быть смежными, поэтому все, что вам нужно, это достаточно свободного места, не говоря уже о том, где.

Жиль "ТАК - прекрати быть злым"
источник
8

У вас есть кто-то, кто может получить доступ к вашему серверу только через ftp и ограничен своим домашним каталогом, но вы понимаете, что им нужен доступ к другому каталогу, который не находится в их домашней папке.

Например, у bob есть ftp-доступ к вашему веб-серверу, но вы также хотите разрешить ему просматривать файлы журналов в /var/logs/httpd/vhosts/bobssite.com/. Это очень сложно перенастроить так, чтобы apache записывал логи для bobssite.com в домашнюю папку bobs, но вы можете использовать опцию bind, чтобы перемонтировать папку следующим образом.

mkdir /home/bob/logs
mount --bind /var/logs/httpd/vhosts/bobssite.com /home/bob/logs/

Более подробную информацию можно найти здесь .

Ричард Холлоуэй
источник
3
Вы также можете использовать bindfs , который является более гибким: вам не нужно быть пользователем root, чтобы использовать его, и он может менять владельца и разрешения на лету.
Жиль "ТАК - перестать быть злым"
7

Большинство юниоров чистятся /tmpпри загрузке. Если вы сделаете это, нет особого смысла хранить содержимое /tmpна диске. Многие юниты позволяют хранить файловую систему в памяти (данные будут записаны в своп при необходимости). По какой-то причине, хотя Linux tmpfsдля этого есть, большинство дистрибутивов не монтируются /tmpкак tmpfs. Это легко исправить с помощью строки в /etc/fstab:

tmpfs  /tmp  tmpfs  mode=1777

По умолчанию файловая система может вырасти до половины вашей оперативной памяти. Если у вас большой объем подкачки, вы можете захотеть, чтобы он содержал большие файлы, например, до 2 ГБ:

tmpfs  /tmp  tmpfs  mode=1777,2g

(Увеличение файловой системы приводит к незначительным накладным расходам; использование виртуальной памяти растет по мере необходимости. По-прежнему целесообразно иметь ограничение, потому что прогоняющаяся программа может заполнить его очень быстро, и его лучше исчерпать, /tmpчем исчерпать память доступно для процессов.)

Жиль
источник
Вы можете добавить size=512MBили что-то похожее на параметры. По умолчанию tmpfs отнимает половину вашей оперативной памяти, а это больше, чем вы могли бы потребовать для небольшой файловой системы с небольшим выбросом
tante
1
Почему вы хотите уменьшить максимальный размер файловой системы даже больше, чем по умолчанию (что очень консервативно: вы можете хранить файлы до размера вашей виртуальной памяти)? (Обратите внимание, что память, необходимая для файловой системы, - это память, необходимая для хранения фактических данных и метаданных, плюс что-то вроде 10–100 КБ служебных данных (измеряется в основном простаивающей системе Ubuntu 10.04 i386).)
Жиль - перестать быть злым "
5

Если ваша ОС поддерживает это, создайте все свои файловые системы в массивах RAID 1, даже если они не реплицированы. Таким образом, если вам когда-либо понадобится перенести файловую систему на другой диск, вы можете сделать это онлайн и быстро, добавив раздел на втором диске в массив, перестроив массив и удалив первый диск.

Некоторые системы LVM могут отражать тома, поэтому вам не нужны другие слои. ZFS делает это без посторонней помощи.

Жиль "ТАК - прекрати быть злым"
источник
2

Производительность связана:

Избегайте записи времени доступа к файлу:

-o noatime

Удобство использования:

Вы можете использовать альтернативные имена устройств, например, метки или uuids.

Например, для идентификации моего MP3-плеера я использую это имя устройства в моем fstab:

UUID=0C9F-6901

Вы можете распечатать uuids подключенных устройств с помощью команды blkid.

Аналогично тому, что вы можете установить метку во время mkfs или позже через e2fstune и аналогичные инструменты. Тогда вы можете использовать

LABEL=mylabel

в fstab или в командной строке.

maxschlepzig
источник
2

Олди Храните свое программное обеспечение на одном диске, а свои данные - на другом. Поэтому вы можете искать и то и другое одновременно. Делает для более быстрого доступа к диску.

HandyGandy
источник
1

Мне нравится иметь отдельный раздел для всех личных данных, которые мне не нужно резервировать, например, svn checkouts, копии данных, которые в основном находятся на другом сервере и т. Д.

fschmitt
источник
1

Смонтировать образ .iso в качестве петлевой файловой системы. Я храню несколько файлов .iso, и это может быть удобным способом скопировать ссылочные файлы на образ диска.

stefan@host1:~ $ ls -ld ubuntu-10.04-server-amd64.iso
-rw-r--r-- 1 stefan staff 710412288 2010-06-27 11:51 ubuntu-10.04-server-amd64.iso
stefan@host1:~ $ mkdir ./ubuntu-10.04-server-amd64
stefan@host1:~ $ sudo mount -o loop ubuntu-10.04-server-amd64.iso ./ubuntu-10.04-server-amd64
stefan@host1:~ $ ls ubuntu-10.04-server-amd64
cdromupgrade  doc      isolinux    pics  preseed             ubuntu
dists         install  md5sum.txt  pool  README.diskdefines

Или, если я хочу прочитать автономную копию руководства по установке, я могу сделать это из командной строки:

stefanl @ host1: ~ $ links ubuntu-10.04-server-amd64 / doc / install / manual / en / index.html

Стефан Ласевский
источник