ZFS на Linux не имеет критической массы после, независимо от того, что это может быть. ZFS эффективно привяжет Вас. Базовый формат является несовместимым со спасательными дисками и дистрибутивами, для которых Вы найдете, ZFS редок.
Я был бы склонен пропускать эти пределы из-за моей предвзятости к ZFS. Можно хотеть погуглить для поставщика услуг, который предоставляет SmartOS/ZFS базирующийся Облачный хостинг.
Файловые системы Linux ext3/ext4 и вероятно различные другие действительно допускают динамический рост. Менеджер томов, встроенный в Linux, LVM, также позволяет Вам динамично разворачивать объемы на новые диски. Для чего-либо кроме экспериментирования это должно было бы быть текущей лучшей рекомендацией Linux, хотя это изменится, после того как ZFS получила критическую массу, следующую Linux.
Процесс для Linux + LVM + ext3:
Пример: группа объема LVM myvg, смонтированное имя тома uservol1, и дисковое устройство в Linux является/dev/sdf
fdisk / sfdisk
pvcreate /dev/sdf
vgextend myvg /dev/sdf
lvextend -L +1024G /dev/myvg/uservol1
resize2fs /dev/myvg/uservol1
df -h
) и необходимо видеть, что смонтированная файловая система теперь имеет больше пространства.ЧТО И ТРЕБОВАЛОСЬ ДОКАЗАТЬ.
В настоящее время это невозможно. Однако systemd-networkd-wait-online.service
можно использовать только в качестве зависимости от загрузки для изменения конфигурации tinc. В моем опыте tinc будет быстро реагировать на изменения в конфигурации сети. По крайней мере в Linux он может использовать rtnetlink для прослушивания изменений интерфейсов.
Для печати диапазона IP-адресов можно использовать команду sed с seq.
seq 2 23 | sed 's/^/10.0.0./'
ИЛИ с использованием эха и tr
echo 10.0.0.{2..23} | tr ' ' '\n'
-121--46379- Используйте формат:
$ seq -f "10.20.30.%g" 40 50
10.20.30.40
10.20.30.41
10.20.30.42
10.20.30.43
10.20.30.44
10.20.30.45
10.20.30.46
10.20.30.47
10.20.30.48
10.20.30.49
10.20.30.50
К сожалению, это неочевидно, так как GNU не любит писать человеко-страницы.
Вы можете использовать команду SED с SEQ для печати диапазона IP-адреса.
seq 2 23 | sed 's/^/10.0.0./'
Или использование ECHO и TR
echo 10.0.0.{2..23} | tr ' ' '\n'
Команда printf
выполняет неявную итерацию, если ей задано больше аргументов, чем спецификаторов преобразования. Например:
$ printf "%s-%s\n" 1 2 3 4 5 6
1-2
3-4
5-6
Есть два преобразования, но шесть аргументов. Таким образом, происходит три повторения логики форматирования, попарно перебирая аргументы.
С этим мы можем сделать:
printf "10.0.0.%s\n" $(seq 1 23)
Команда printf
и ее повторяющееся поведение соответствуют стандарту POSIX : «Операнд формата должен использоваться повторно так часто, как необходимо для удовлетворения аргументов операндов. " С другой стороны, команда seq
- нет.
Существует утилита prips
, которая генерирует список IP-адресов из диапазона или CIDR. Полезно для работы с большими диапазонами:
$ prips 10.0.0.20 10.0.0.23
10.0.0.20
10.0.0.21
10.0.0.22
10.0.0.23
$ prips 10.0.0.0/23
10.0.0.0
10.0.0.1
10.0.0.2
<...>
10.0.1.254
10.0.1.255
Если мы удалим требование использовать команду seq
и предположим, что доступна команда ipcalc
, а Ubuntu prips
нет, то prips
можно реализовать как функцию оболочки Bash:
prips() {
cidr=$1
# range is bounded by network (-n) & broadcast (-b) addresses.
lo=$(ipcalc -n $cidr |cut -f2 -d=)
hi=$(ipcalc -b $cidr |cut -f2 -d=)
read a b c d <<< $(echo $lo |tr . ' ')
read e f g h <<< $(echo $hi |tr . ' ')
eval "echo {$a..$e}.{$b..$f}.{$c..$g}.{$d..$h}"
}
Обратите внимание, что это будет включать сетевой адрес и широковещательный адрес в диапазоне; если это проблема, удалите первый и последний адрес из результата.