gryu

дикий гусь | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Коллеги. Что то я запутался. Дано. Нужно поставить ФриБСД на доску и организовать ФТП сервер в сети. Хочу пойти по пути как линуксовые машины делал. ОС ставится с одним разделом / (все в корень), затем создаются файлы виртуальных дисков и монтируется.* Как это всё в Линуксе, эт я помню. dd - создаем mkfs - форматируем в fstab - монтируем ... Во Фряхе как? mkfs тут только портируемый. .. а "своим, родным" как? Спасибо. P.S. И в инете инфы по работе в FreeBSD с виртуальными дискам почти нет. ... или я не так ищу.. * - почему так, через виртуальные файлы. На скорость не влияет, массив всеравно один и тот же. А изменить размер, в случае чего, всегда легко и непринужденно можно. Даже по удаленке. P.P.S. Нашел несколько статей на эту тему, а там приписки типа "во FreeBSD 12 и 13 делается по другому" или "а в 12 не работает".... а как "по другому", не сказано... P.P.P.S. https://docs.freebsd.org/en/books/handbook/config/#adding-swap-space Немного разобрался, но не понимаю почему файл через fstab не монтируется. md99 none swap sw,file=/usr/swap0,late 0 0 А md99 в /dev не появляется после перезагрузки. через mdconfig файл монтируется. т.е. файл в общем правильно создан. ============================================== P.S. Ну, опять "сам спросил, сам ответил". FreeBSD 13.2 релиз. Сначала нюанс по монтированию. 1. монтирование "обычного" раздела из файла виртуального диска. md** - где ** указание желаемого номера виртуального устройства в /dev md** /mnt mfs rw,sync,noatime,-P,-F=/vhdfiles/vhd.vhd 0 0 2. Монтирование конкретно SWAP. md** - где ** указание желаемого номера виртуального устройства в /dev md** none swap sw,file=/vhdfiles/swap.vhd,late 0 0 Ключи file и -F незаменяемы. Ранее был ключ file. Теперь нахренато заменили его на -F. А, млять, НЕ ВО ВСЕХ УТИЛИТАХ. .. Поэтому гдето работает один, а где то другой. ЗАЧЕМ!!! Зачем вообще меняли? Делать нехрено?!! ----------------------------------------------------------------------------- Ну и краткая инструкция. Создание виртуальных слайсов типа /home, /var и т.д. создаем папку в которой они будут лежать # mkdir /vhdfiles создаем файл-контейнер. bs=Хm count=Y X*Y=размер в мегобайтах. (можно "G", "k" и т.д. тогда гигабайты, килобайты и т.д.) # dd if=/dev/zero of=/vhdfiles/vhd.vhd bs=1m count=2048 Монтируем как устройство # mdconfig -a -f /vhdfiles/vhd.vhd -u md** (** - номер. к примеру md10) Создаём файловую систему на устройстве. # newfs md** (** - номер. к примеру md10) # newfs md10 Монтируем как диск # mount /dev/md** /mnt # mount /dev/md10 /mnt Создаем проверочный файл # touch /mnt/ggg.txt Убеждаемся что файл создан # ls /mnt Демонтируем диск # umount /mnt Монтируем обратно и проверяем что файл на месте и все ок. Если косяк, то пропадет файл. # mount /dev/md0 /mnt # ls /mnt # umount /mnt Заносим в fstab -P это сохранять ФС. Т.е. не создавать ФС заново. Не уничтожать файлы в контейнере) ** - номер md-диска. иначе назначается автоматом. /*** - точка монтирования # edit /etc/fstab md** /*** mfs rw,sync,noatime,-P,-F=/vhdfiles/vhd.vhd 0 0 md10 /mnt mfs rw,sync,noatime,-P,-F=/vhdfiles/vhd.vhd 0 0 Монтируем и смотрим результат. ls /mnt там по прежнему должен быть проверочный файл. # mount -a Переносим в новый слайс данные из старого хранилища, очищаем старое. Ребутимся и живем. создание swap ---------+----------- # dd if=/dev/zero of=/vhdfiles/swap.vhd bs=1m count=2048 # mdconfig -a -f /vhdfiles/swap.vhd -u md** # newfs md** # swapon /dev/md** # swapinfo /etc/fstab md** none swap sw,file=/vhdfiles/swap.vhd,late 0 0 file=/ - от версии фри. где то -F= гдето file=, а в 13.2 вроде надо -F (и для дугих md работает -F и НЕ работает file=, а только для swap нужно file. ХЗ. возможно это зависит от утилиты mdconfig, т.к. это она не срабатывает) late - безпонятия что за ключ. В мануале не нашел. Без него неработает. В более ранних мануалах он неуказывается. При этом на форумах плачь "сделал как в хондбуке, неработает". Ответ "в хэндбуке ошибка, добавьте late". Сейчас хэндбук исправили. Код: If the option "late" is specified, the file system will be automatically mounted at a stage of system startup after remote mount pointsare mounted. For more detail about this option, see the mount(8) manual page. | Код: If fs_type is "sw" then the special file is made available as a piece of swap space by the swapon(8) command at the end of the system reboot procedure. For swap devices, the keyword "trimonce" triggers the delivery of a BIO_DELETE command to the device. This command marks the device's blocks as unused, except those that might store a disk label. This marking can erase a crash dump. To delay swapon for a device until after savecore has copied the crash dump to another location, usethe "late" option. For vnode-backed swap spaces, "file" is supported in the fs_mntops field. When fs_spec is an md(4) device file ("md" or "md[0-9]*") and "file" is specified in fs_mntopts, an md(4) device is created with the specified file used as backing store, and then the new device is used as swap space. Swap entries on .eli devices will cause automatic creation of encrypted devices. The "ealgo", "aalgo" "keylen", "notrim", and "sectorsize" options may be passed to control those geli(8) parameters. The fields other than fs_spec and fs_type are unused. If fs_type is specified as "xx" the entry is ignored. This is useful to show disk partitions which are currently unused. | | Всего записей: 13042 | Зарегистр. 15-03-2006 | Отправлено: 13:38 30-01-2024 | Исправлено: gryu, 13:59 09-02-2024 |
|