Использовать mount
смотреть на Ваши дисковые точки монтирования. Ищите самое долгое соответствие для /var/www
и это - Ваш диск. В моем случае это /dev/sda2
.
[mpenning@Bucksnort ~]$ mount
/dev/sda2 on / type ext3 (rw,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
[mpenning@Bucksnort ~]$
Потребление дискового пространства в Кбайтах, на точку монтирования:
[mpenning@Bucksnort ~]$ df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 30759872 22835672 6361680 79% /
tmpfs 1947664 12 1947652 1% /lib/init/rw
udev 1943240 104 1943136 1% /dev
tmpfs 1947664 0 1947664 0% /dev/shm
/dev/sda1 1441280 67136 1300928 5% /boot
[mpenning@Bucksnort ~]$
Systemd имеет собственную поддержку монтирования (man systemd.mount
). На самом деле чтения systemd /etc/fstab
, использование это для генерации монтирует единицы и монтирует файловые системы само.
Вместо доверия fstab
, также возможно создать, монтируют единицы вручную. Это - то, как система монтируется как /dev
, /sys
, /proc
, и т.д. обрабатываются (/usr/lib/systemd/system/*.mount
). Этот метод позволяет Вам использовать systemd зависимости, чтобы гарантировать, что вещи смонтированы в правильном порядке.
systemd монтируют, что файлы единицы нужно назвать после точки монтирования они управляют (man systemd.unit
). Как пример, я создал файл единицы для монтирования моего резервного диска USB к /mnt/backup
. После соглашения о присвоении имен я создал /etc/systemd/system/mnt-backup.mount
, со следующим содержанием:
[Unit]
Description = USB backup disk
[Mount]
What = LABEL=david-usb-backup
Where = /mnt/backup
Type = ext4
[Install]
WantedBy = multi-user.target
Я затем работаю systemctl daemon-reload
чтобы systemd загрузил единицу. Я могу работать systemctl start mnt-backup.mount
смонтировать диск, и/или systemctl enable mnt-backup.mount
запустить его при начальной загрузке.
Поскольку зависимости добавляют Requires = some-other-mnt-point.mount
под [Unit]
раздел. Дополнительно, можно использовать BindTo
вместо Requires
; это заставит это быть размонтированным, если одна из зависимостей исчезнет. Однако Requires
не влияет на порядок, в котором смонтированы диски. Таким образом, чтобы удостовериться, что диски смонтированы прежде aufs, использовать After
.
Править: Подробно остановиться на использовании Requires
и After
, раздел единицы мог бы быть похожим:
[Unit]
Description = USB backup disk
Requires = mnt-data01.mount
Requires = mnt-data02.mount
Requires = mnt-data03.mount
After = mnt-data01.mount
After = mnt-data02.mount
After = mnt-data03.mount
Мысль я отправил бы пошаговую инструкцию для других как я. Благодаря David Baggerman для помощи мне достигнуть здесь.
Я создал /etc/systemd/system/mnt-aufs.mount
, со следующим содержанием:
[Unit]
Description = AUFS disk
Requires = mnt-data01.mount
Requires = mnt-data02.mount
Requires = mnt-data03.mount
After = mnt-data01.mount
After = mnt-data02.mount
After = mnt-data03.mount
[Mount]
What = none
Where = /mnt/aufs
Type = aufs
Options = br:/mnt/data01/=rw:/mnt/data02/=rw:/mnt/data03/=rw,sum,create=mfs
[Install]
WantedBy = multi-user.target
Я затем работал systemctl daemon-reload
чтобы systemd загрузил единицу. Выполненный systemctl start mnt-aufs.mount
смонтировать диск, и/или systemctl enable mnt-aufs.mount
запустить его при начальной загрузке.
Это эквивалентно для копирования вставки следующего в /etc/rc.local
сценарий init и был бы намного легче. Интересно, почему systemd не имеет эквивалентного файла.
mount -t aufs -o br:/mnt/disk01=rw:/mnt/disk02=rw: /mnt/disk03=rw,sum,create=mfs none /mnt/aufs
systemd-rc-local-generator
/ rc-local.service
. Отметьте путь, где он ищет rc.local
установлен распределением, можно проверить его с systemctl cat rc-local.service
.
– sourcejedi
23.09.2017, 21:25
Вы лучше используете/etc/rc.local
Попробуйте этот пример:
# cat > /etc/rc.local << EOF
mount -t squashfs -o loop /usr/src/system_packages.squashfs /var/mount_point/
mount -t aufs -o remount,append:/var/mount_point/ none /
EOF
Новые версии systemd поддерживают параметр x-systemd.requires в fstab, поэтому, если вы не хотите использовать модули systemd.mount и хотите придерживаться для fstab попробуйте следующее:
aufs /mnt/storage aufs ro,nobootwait,dirs=/mnt/storage2=ro:/mnt/storage1=ro:/mnt/storage3=ro:/mnt/storage4=ro:/mnt/storage0=ro:/mnt/storage5=ro:/mnt/storage6=ro:/mnt/storage7=ro:/mnt/storage8,xino=/dev/shm/aufs.xino,x-systemd.requires=mnt-storage0,x-systemd.requires=mnt-storage1,x-systemd.requires=mnt-storage2,x-systemd.requires=mnt-storage3,x-systemd.requires=mnt-storage4,x-systemd.requires=mnt-storage5,x-systemd.requires=mnt-storage6,x-systemd.requires=mnt-storage7,x-systemd.requires=mnt-storage8 0 0
Linux Live Kit -Убедитесь, что модули ядра aufs
и squashfs
поддерживаются вашим ядром. Оба Debian Jessie включены автоматически.
Возможно, вам потребуется установить пакет aufs-dkms
в новых версиях Debian.
Если вы хотите продолжать использовать fstab, просто попробуйте добавить _netdev в опции.
none /mnt/aufs aufs sum,create=mfs,dirs=.....,_netdev 0 0
Это задержит монтирование до тех пор, пока сеть не заработает.
Requires
. Можно получить имена единицы путем выполненияsystemctl -t mount
. Можно добавить синглOptions = ...
под[Mount]
с тем же синтаксисом как вfstab
. – David Baggerman 06.07.2013, 13:38Requires =
генерирует поведение, подобное поведениюfstab
это - aufs, был смонтирован перед дисками. ДобавленныйAfter =
и это, кажется, работает. – Nithin 06.07.2013, 21:02