Монтирование нескольких устройств в единственной точке монтирования на Linux

Замена нескольких строк с другим набором нескольких строк становится грязной, если Вы хотите использовать стандартную обработку параметра. Обычно, команды берут ряд атомарных параметров и затем ряда атомарных аргументов, и последовательность не имеет значения кроме этого, аргументы прибывают после параметров (разделенный -- если неоднозначный). Как Вы создали бы резюме в этом случае?

Вот простая функция, которая должна сделать задание для простых замен:

$ trs() {
    local string=$1
    shift
    for replacement in "$@"
    do
        string="$(sed -e "s/$replacement/g" <<< "$string")"
    done
    printf "$string"
}
$ trs '1 2 3' '1/foo' '2 3/bar baz'
foo bar baz

Кроме того, Вы могли работать с парами параметров:

$ trs() {
    local string=$1
    shift
    while [ $# -gt 0 ]
    do
        string="$(sed -e "s/$1/$2/g" <<< "$string")"
        shift 2
    done
    printf "$string"
}
$ trs '1 2 3' 1 foo '2 3' 'bar baz'
foo bar baz
7
27.02.2012, 20:17
5 ответов

Можно использовать lvm для этого. Это было разработано для разделения физического диска от логического диска.

С lvm Вы можете:

  1. Добавьте свежий новый физический диск к пулу (названный Volume Group в терминологии LVM)

    pvcreate/dev/sdb my_vg

  2. Расширьте пространство логического тома

    lvextend...

  3. И закончите с онлайн, изменяют размер Вашей файловой системы

    e2resize/mnt/my/path

Но остерегайтесь, это не чудодейственное средство. Это намного больше тяжелее для сокращения файловой системы, даже с LVM.

8
27.01.2020, 20:14

Можно интересоваться UnionFS. Может быть более просто установить в существующей системе, чем LVM.

От страницы UnionFS, http://www.filesystems.org/project-unionfs.html:

Этот проект создает наращиваемую файловую систему объединения, которая, может казаться, объединяет содержание нескольких каталогов (ответвления) при разделении их физического содержания. Unionfs полезен для объединенного исходного управления деревом, объединенного содержания CD-ROM разделения, объединенных отдельных каталогов пакета программного обеспечения, сеток данных, и т.д.

Я надеюсь, что Вы находите это полезным.

7
27.01.2020, 20:14

Ответ LVM является хорошим, но набег может сделать это также, таким образом добавив другого.
Набег программного обеспечения Linux (mdadm) действительно позволяет добавлять диски к массиву, это уже создается. Когда Вы сделаете это восстановит равновесие данных на новый диск.
Если Вы не интересуетесь дублированием, можно использовать набег 0, который просто чередует данные равномерно через все диски.
Однако совершите рейд на 5 предложений по крайней мере некоторое дублирование, не теряя много устройства хранения данных (Вы жертвуете ценностью одного диска).

Но после этих слов набег работает лучше всего, когда все диски являются тем же размером. Если они не будут тем же размером, то части диска будут не использованы, поскольку он будет только использовать столько же сколько самый маленький диск. Если я вспоминаю правильно, выход LVM не имеет этой проблемы, как будто диски не являются тем же размером, дополнительное пространство просто, привычка чередуется.

2
27.01.2020, 20:14

Вы можете использовать MHDDFS вместо LVM, как если бы один диск не удался, то будут потеряны только данные на этом диске. Он работает на пространстве пользователя, используя модули предохранителей, но я использую его для очень тяжелой инфраструктуры нагрузки

[root@storagenode1 ~]# df -hl
Filesystem            Size  Used Avail Use% Mounted on
/dev/sdl2             259G  2.1G  244G   1% /
tmpfs                  48G     0   48G   0% /dev/shm
/dev/sdl1             485M   30M  430M   7% /boot
/dev/sda1              24T   23T  1.4T  95% /mnt/disk01
/dev/sdg1              24T   22T  2.6T  90% /mnt/disk02
/dev/sdf1              24T   22T  2.6T  90% /mnt/disk03
/dev/sdb1              24T   20T  4.5T  82% /mnt/disk04
/dev/sde1              39T   30T  8.3T  79% /mnt/disk07
/dev/sdh1              28T  6.6T   21T  24% /mnt/disk08
/dev/sdj1              39T   32T  6.5T  84% /mnt/disk09
/dev/sdi1              20T  792G   19T   5% /mnt/disk10
/mnt/disk01;/mnt/disk02;/mnt/disk03;/mnt/disk04;/mnt/disk07;/mnt/disk08;/mnt/disk09;/mnt/disk10
                      218T  153T   65T  71% /mnt/disk99

Это - это главный веб-сайт разработчика, и Здесь Вы можете загрузить пакеты для Centos6, так как я делаю

  1. yum Установка MHDDFS
  2. Создание точек монтирования для локальных дисков как обычно и монтируется
  3. Создать каталог ANOUTHER, чтобы держать все ваши Диски, мой случай под названием Disk99
  4. Установите все диски на Disk99 Использование MHDDFS

VIM / ETC / FSTAB Добавьте эту строку

mhddfs#/mnt/disk01,/mnt/disk02,/mnt/disk03,/mnt/disk04,/mnt/disk07,/mnt/disk08,/mnt/disk09,/mnt/disk10          /mnt/disk99     fuse    defaults,allow_other,mlimit=10%,nonempty,logfile=/dev/null,loglevel=2   0       0

Предупреждение : В моем случае [11777744]: В моем случае с тяжелой нагрузкой MHDDFS был размером логики и разбил сервер Много раз, поэтому я использую / dev / null для ведения журнала. Я не мог заставить Logrotate работать с MHDDFS, потому что вам нужно перемещать, когда вы меняете логики.

1
27.01.2020, 20:14

Is there a way to mount multiple hard drives to a single mount point?

Вероятно, не так, как вам хотелось бы. Вы можете делать всевозможные забавные вещи , но это не решает проблему, которую вы пытаетесь решить.

Let's say I run out of space on /home and decide to add an extra hard drive to the computer. How do I scale the space on a mount point?

Одним из подходов могут быть следующие шаги:

  1. добавить один или несколько новых дисков на ваш компьютер

  2. создать LVM, используя новый диск (с)

  3. отформатируйте новый LVM (, вероятно, в ext4 или xfs)

  4. установить на временное место (бывший:/dev/tmp)

  5. скопировать содержимое /homeв новый lvm(/dev/tmp)с помощью rsyncилиcp

  6. выполнить "обмен" (отключить старый диск в /home, отключить новый диск в /dev/tmpи смонтировать новый диск в/home

  7. опционально расширение нового LVM с использованием старого диска

  8. обновить fstab , чтобы монтирование сохранялось при перезагрузке

Описанные выше шаги, вероятно, следует выполнить, загрузив ОС с живого USB/CD, например Gparted .

If I use RAID, can I add drives on the fly to increase space as I run out of them?

Да, можете. Как именно зависит от оборудования (при условии, что вы будете использовать аппаратный рейд ).

Is there an alternative to using RAID if I am not interested in maintaining a high level of redundancy?

«Высокий уровень избыточности» субъективен, и не все RAID обеспечивают избыточность. Вот общая разбивка параметров RAID:

  • RAID 1 (зеркальное отображение )полностью избыточно, возможно, это не нужно

  • RAID 6 (2 блока четности )могут справиться с отказом 2 дисков без потери данных, минимум 4 диска, возможно, это не нужно

  • RAID 5 (1 блок четности )устойчив к сбою одного диска, минимум 3 диска, может подойти для ваших нужд

  • RAID 0 (чередование )не имеет избыточности, и вы потеряете все данные в случае отказа одного диска (, хотя он обеспечивает отличную производительность ), может соответствовать вашим потребностям

В качестве альтернативы вы также можете использовать ZFS , что я бы и сделал.Из Википедии:«ZFS является масштабируемой и включает в себя расширенную защиту от повреждения данных, поддержку больших объемов памяти, эффективное сжатие данных, интеграцию концепций файловой системы и управления томами, моментальные снимки и копирование -на -писать клоны». По моему опыту, ZFS очень гибкая и может быть сконфигурирована (и настроена ), чтобы делать почти все, что вы хотите. Он обрабатывает RAID, LVM, копирование -на -запись, быстрое сжатие и т. д. Это немного сложнее в администрировании, чем ext4 или xfs, но если вам все равно придется возиться с raid/lvm, то это на самом деле не так уж отличается.

0
27.01.2020, 20:14

Теги

Похожие вопросы