LINUX.ORG.RU

Как разделить пользовательские данные и конфигурации?

 , , ,


0

5

Сейчас fstab выглядит примерно так:

# рут
UUID=837bbc17-6cd4-4025-a852-6cbca63600c8   /                           ext4     errors=remount-ro,noatime,commit=100        

# общее хранилище
UUID=f66a9673-4176-49d8-af1b-49558839df69   /mnt/dev/storage            ext4     defaults,noatime,commit=117                 

tmpfs                                       /tmp                        tmpfs    rw,noatime,nosuid,mode=01777,size=4g       
tmpfs                                       /var/tmp                    tmpfs    rw,size=2g                                 
tmpfs                                       /var/cache/apt/archives     tmpfs    rw,noatime,nosuid,size=1g                  

# Хомяк
UUID=cdc8422e-f1d1-4b42-a769-7106a6776466   /home                       ext4     defaults,noatime,commit=130                

# alex (1000:1000)
LABEL=alex                                  /home/alex                  ext4     defaults,noatime,commit=120               
tmpfs                                       /home/alex/.thumbnails      tmpfs    defaults,uid=1000,gid=1000,size=134217728

# marianna (1001:1001)
LABEL=marianna                              /home/marianna              ext4     defaults,noatime,commit=120               
tmpfs                                       /home/marianna/.thumbnails  tmpfs    defaults,uid=1001,gid=1001,size=134217728

# alice (1002:1002)
LABEL=alice                                 /home/alice                 ext4     defaults,noatime,commit=120           
tmpfs                                       /home/alice/.thumbnails     tmpfs    defaults,uid=1002,gid=1002,size=134217728

#FUSE
bindfs#/mnt/dev/storage     /mnt/storage    fuse    create-as-mounter,create-for-group=users,create-with-perms=u+rwD:g=rD:o-rwx,chmod-filter=g-w:o-rwx,perms=u+rwD:g=rD:o-rwx,mirror=alex:marianna,force-group=users        0    0
bindfs#/home/@users         /home/@users    fuse    create-as-mounter,create-for-group=users,create-with-perms=ug+rwD:o-rwx,chmod-filter=o-rwx,perms=ug+rwD:o-rwx,mirror=@users,force-group=users        0    0
Не значащие вещи поубирал.

Т.е. есть отдельно корень. В него как водится смонтирован хомяк. В него, в папку каждого польователя смонтирован персональный раздел, чтобы один пользователь не мог пожрать ресурсты другого, забив рабочий стол или каталог загрузки кинцом, и есть диск с общими данными смонтированный в /mnt/dev/storage и забинденный в /mnt/storage с зеркалированием прав, чтобы все пользователи имели доступ к этим данным.

Есть еще каталог /home/@users который так же забинден сам в себя - там всякие общие пользовательские файлы не являющиеся данными, в частности библиотека steam, конфиг шотвела, диски виртуалок и т.п.

Каталоги раздела /mnt/storage брошены в хомяки просто симлинками - это музыка, видео фоточки. Но пришла пора перехать хомякам на ssd. Объем ssd ограничен 240Гб, поэтому хотелось бы всякие персональные данные, вроде рабочего стола, загрузок, документов и т.п. на него не бросать, а оставить там только .config, .local и т.п.

Как это сделать наилучшим образом, без биндинга каждого отдельного каталога столбцами строчек в fstab вроде /mnt/dev/ssd/home/alex/.config /home/alex/.config none bind

Или хотя бы с минимальным их количеством?

И как на разделах ssd нарезанных под юзеров зафигачить квоты, чтобы они не забили ssd под завязку, создав в хомяке что-то вроде «неразобранное 44» и свалив туда пачку хлама. Вроде забивать раздел на ssd под 100% вредно. Или я могу создать три раздела скажем по 50Гб и оставить 100Гб не размеченными и тогда забивать разделы можно будет? Это вот не очень понятно.

★★★★★

Смысл бить диск вместо использования квот?

Не хотите много ″mount --bind″, делайте симлинки. Но, ИМХО, проще научить пользователей складывать всё большое в отделный каталог, а не на рабочий стол или ещё куда, чтобы весь /home был на ssd, чем городить кучу из .config, .local и т.д.

mky ★★★★★ ()
Ответ на: комментарий от mky

Но, ИМХО, проще научить пользователей складывать всё большое в отделный каталог, а не на рабочий стол или ещё куда

Есть два аргумента против - система надежность которой зависит от человека ненадежна и в какой отдельный каталог? Его тоже надо будет убрать с ssd на hdd. А как? Симлинком? Не все ПО корректно понимает симлинки.

Suntechnic ★★★★★ ()

В чем смысл отдельного хомяка? Они на разных дисках? Если летит диск — летит и хомяк. Если летит диск — летят все разделы, если хомяк на другом разделе. Разницы нет никакой.

Если нужно перенести хомяк на другую систему, то просто копируешь его туда.

Так в чем же смысл отдельного хомяка?

kep ()
Ответ на: комментарий от mky

Как только люди не извращаются, лишь бы ZFS не использовать - зоопарк файловых систем в fstab, mount -bind, симлинки...

anonymous ()
Ответ на: комментарий от kep

Они на разных дисках?

Конечно. Система на одном, хомяки на другом, storage на третьим, а backaps (я его вырезал из fstab) на четвертом. Физические я имею ввиду. А ближайший апгрейд предусматривает еще и пятый диск - ssd под хомяк + старый hdd под хомяк.

Suntechnic ★★★★★ ()

Никак. К сожалению, далеко не весь софт умеет складывать конфигурацию в ~/.config. Более того, некоторые софтины гадят нескрытыми файлами прямо в хомяк.

Чтт я бы сделал — выкинул /home/@users и хранил общие данные в /mnt/storage, а на разделение пользовательских данных и конфига забил и кинул все на ssd, скажем (по идее, места достаточно). И да, квоты это круто.

Кстати, а зачем ты сделал отдельный раздел под /home и в него смонтировал отдельные разделы под пользователей (а не, скажем, разместил сам /home в корне)?

lu4nik ★★★ ()
Ответ на: комментарий от lu4nik

Чтт я бы сделал — выкинул /home/@users

Если приглядется, то в /home/@users права зеркалируются так что туда разрешено писать всем пользователям. Это надо для корректной работы кофигов. А в storage писать могут только два пользователя, а один только читать - это надо чтобы дочь случайно чего ценного не снесла там, а я и жена могли спокойно менять все что угодно.

Кстати, а зачем ты сделал отдельный раздел под /home

Это не раздел - это отдельный физический диск.

и в него смонтировал отдельные разделы под пользователей

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

Suntechnic ★★★★★ ()
Ответ на: комментарий от Suntechnic

Что касается надёжности системы, то пользователь всегда может убить свой профиль, как его не монтируй.

Не хотите симлинки, делайте mount --bind, но по одной штуке на пользователя, а не на каждый .local, .config и т.д. Хотя зачем для MegaSync нужен доступ в каталог с фильмами не понятно.

mky ★★★★★ ()
Ответ на: комментарий от mky

Что касается надёжности системы, то пользователь всегда может убить свой профиль, как его не монтируй.

Пусть убивает. Это не проблема системы. А вот если он захавает все место на диске это станет проблемой других пользователей. Т.е. проблемой не отличимой от системной.

Хотя зачем для MegaSync нужен доступ в каталог с фильмами не понятно.

Это было как пример. А вот зачем нужен доступ - у меня жена использует в работе кучу видеоматериала и сканов, которыми забьет ssd быстро. Это не общие данные и им не место в общем хранилище. Должны быть в ее хомяке но на hdd. Среди них есть масса ценных полученных с большим трудом и потому весь этот наборе резервируется на megasync. Как-то так.

Suntechnic ★★★★★ ()
Ответ на: комментарий от Suntechnic

А вот если он захавает

Я не предлагал разрешить пользователю захавывать весь диск. Просто в моём мире для этого используются дисковые квоты, а не нарезка диска на отдельные ФС.

mky ★★★★★ ()
Ответ на: комментарий от Suntechnic

Квотами и резервами на уровне файловых систем и квотами для пользователей и групп пользователей. Ну и микро-менеджить в твоем стиле - не стоит оно того.

anonymous ()
Ответ на: комментарий от mky

Просто в моём мире для этого используются дисковые квоты, а не нарезка диска на отдельные ФС.

Не помню почему не стала юзать квоты, если честно и порезал диск.

Но все это решает вопроса, как все же отдельить пользовательские данные которые должны храниться на ssd (грубо говоря все каталоги начинающиеся с . хотя надо будет решить что-то со Steam) и которые должны попасть на hdd.

Suntechnic ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.