Установка pfSense 2 на CF + HDD 2TB - тонкости и мысли вслух



  • В общем предыстория. Излагать буду по-простому, без изысков, уж поймите. Есть у меня мой рабочий (домашний) роутер на атоме 330 + 500 гб. винт, работает все неплохо, но этого стало мало + часто теряет соединение из-за нагрузки на ноутбучный диск, т.к. все ютится в мини-ИТХ корпусе с внешним блоком питания + сетевые там просто ужас. Захотелось все перевести на гигабит + увеличить объем файлопомойки под Samba. Крутится на нем pfSense 2 RC3, Transmission, Samba, WebMin, но достает периодический отвал VPN соединения к провайдеру из-за нагрузки на жесткий диск. Создавал даже тему про это - мыслей по исправлению ситуации не возникло никаких, все как было - так и осталось.

    Что имеем в наличии:

    Бесшумный системник:
    Процессор - Intel Pentium Dual Core E5300
    ОЗУ - 2Gb DDR-2
    SDD - CF-SATA 8GB Transcend
    HDD - WD 2TB GREEN, AAM - low noise
    Сеть - встроенный гигабитный порт на чипе Broadcomm + сетевухи интел по 2 гигабитных порта каждая, итого 5 гигабитных портов.

    Все это в компактном корпусе, никакого шума, малое потребление энергии.

    Встает вопрос - как грамотно установить систему на все это хозяйство, варианта 3:

    1. Embedded версия - все шустро работает, но винт можно смело выкинуть, т.к. пакеты не поставить (отпадает)
    2. Полная версия на CF карту, после установки пакетов, да и до них - частые фризы системы из-за ожидания очереди записи каких-то логов на CF карту (отпадает)
    3. Полная версия на HDD, после установки пакетов, включения торрентов и самбы - частые разрывы соединения VPN из-за ожидания очереди записи чего-то на винт (тож не вариант + пропадает CF карта с переходником на SATA)
    4. а) Ковыряние Embedded версии на предмет инсталированния в нее требуемых пакетов, геморно, неизвестно + невозможность обновления пакетов в дальнейшем.
        б) Установка полной версии на CF карту + перенос логов в RAM-диск или в соответствующие папки на жестком диске (желательно в RAM-диск + периодическое копирование по расписанию этих логов в соответствующую папку на жестком диске)

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



  • Система на процессоре Celeron 430 ОЗУ - 1Gb DDR-2
    SDD - CF-4GB Transcend, подключена через внутренний кардридер
    HDD - WD 1,5 TB GREEN
    Сеть - встроенный гигабитный Atheros AR8121 PCIe (LAN) + Intel 82559 Pro/100 (WAN) + Atheros 9280 (OPT2-WIFI)
    Интернет от провайдера - PPPoE VPN, можно PPTP

    1. Embedded версия - пробовал pfSense-2.0-RC3-4g-i386-nanobsd_vga.img Все работало и даже ставил самбу и transmission. Когда понял, что подключить винт к этой системе - весьма непростая задача с моими знаниями FreeBSD, отказался от этой затеи.
    2. Установил полную версию на CF карту. Пришлось поковыряться в БИОСе и установка прошла без проблем. Проблема появилась при загрузке. По умолчанию выбирается пунктBoot pfSense [default]и при этом загрузка с USB-носителя не идет. Надо успеть нажать "3", чтобы выбрать пункт```
    Boot pfSense using USB device

    Решение проблемы описано здесь - [http://forum.pfsense.org/index.php?action=printpage;topic=32017.0](http://forum.pfsense.org/index.php?action=printpage;topic=32017.0)
    Создаем /boot/loader.conf.local, содержащий
    

    hw.mca.enabled=0
    hw.bce.tso_enable=0
    kern.cam.boot_delay=10000

    и загрузка с CF проходит без проблем.
    Далее "допиливал" загрузочный скрипт /etc/rc, чтобы шло как можно меньше обращений на запись на CF.
    Вместо```
    
    # make some directories in /var
    /bin/mkdir -p /var/run /var/log /var/etc /var/db/entropy /var/at/jobs/ /var/empty 2>/dev/null
    /bin/rm /var/log/* 2>/dev/null
    /bin/rm -rf /var/run/*
    
    ```вставил```
    
    # make some directories in /var
    /bin/mkdir -p /var/run /var/etc /var/db/entropy /var/at/jobs/ /var/empty 2>/dev/null
    	/sbin/mdmfs -S -M -s 16m md /var/log
    /bin/rm -rf /var/run/*
    	/sbin/mdmfs -S -M -s 128m md /var/tmp
    
    

    Не знаю, правильно это или не очень, но все работает. :) Стоят Samba3.4 и transmission2.33. Загрузка идет заметно дольше, чем с винта, подтормаживает консоль в putty.. но все это не напрягает.



  • на CF  такая версия ПФ убьёт её рано или позно.
    а что с embeded  не получилось сделать? (пакеты вроде ставятся, хотя я не проверял)



  • @Tamriel:

    на CF  такая версия ПФ убьёт её рано или позно.

    Жаль.  :( Может, еще какие рабочие каталоги можно на RAM-диск вынести?
    @Tamriel:

    а что с embeded  не получилось сделать? (пакеты вроде ставятся, хотя я не проверял)

    Пакеты-то ставятся, надо только /var/tmp например, для установки самбы побольше сделать.
    Не получилось подключить винт SATA для файлопомойки. Не видит его embedded.



  • В /dev/ нет винта чтоли?

    у меня пф на флешке 4гб amd64 версия + самба 3.3 + transmission daemon 2.33
    винтик под торентокач пока небольшой - 160 гб (на нем тренируюсь) UFS2 раздел, AHCI в биосе мамки вкл.



  • 2 D1M0N:
    И что, embedded - версия ?? Ну попробую еще раз накатить, уже 2.0-release, отпишусь.



  • поидее 4кб сектора
    http://forum.lissyara.su/viewtopic.php?f=5&t=32626&start=50
    тут чтото про то как раздел создать



  • @D1M0N:

    поидее 4кб сектора

    Все выровнено изначально под адв.формат.
    В /dev нету. Где-то находил, что это связано с особенностью freebsd embedded



  • насчет версии - pfSense.iso 116 МБ который х64
    скачал на диск закатал и ставил на флешку

    можно ваш dmesg глянуть? при подключенном винте



  • А у меня все стопорнулось, т.к. на материнке начал отваливаться южник зараза, пропаяю - займусь снова, так платформа почти готова для экспериментов.



  • Такс, платформу восстановил.

    Вопрос у кого -нить под рукой есть ссыль на то, как устанавливать пакеты на embedded-версию?

    Хочется попробовать с ней, т.к. при установке полной версии на CF - тормоза все-таки наблюдаются, буквально только что собрал снова систему, теперь жажда экспериментов ))).



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



  • Наконец-то добрался я до своего роутера.

    Что сделано:
    1. Установлена embedded-версия на CF карту.
    2. Добавлен винт в систему
    3. Установлены пакеты (mc, samba, transmission, webmin).

    Как бы все работает, но вылез косяк, поставил я 2 сетевухи в PCI слот интеловских, по 2 гигабитных порта каждая, думал будет быстрее как файлопомойка работать, но не тут то было, как скорость была 6-8 мб/сек, так и осталась, думал узкое место в PCI шине, добавил еще 1 сетевую в PCI-E слот, ничего не изменилось. Как была скорость 5-8 мегобайт в сек, так и осталась (((.

    Свичи гигабитные менял, кроссом соединял, все одно и то же, загрузки проца нет, памяти валом, что ему не хватает???



  • конфиг самбы озвучте…
    /usr/local/etc/smb.conf

    @мой:

    [global]
    netbios name = Pfsense
    workgroup = WORKGROUP  
    server string = Pfsense
    security = SHARE
    socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=65536 SO_SNDBUF=65536
    interfaces = sk0 run0
    bind interfaces only = yes
    os level = 39
    encrypt passwords = yes
    oplocks = no
    level2 oplocks = no
    kernel oplocks = no
    load printers = no
    printing = bsd
    printcap name = /dev/null
    disable spoolss = yes
     
    [public]
        comment = %h Shared Public Directory
        path = /mnt/disk
        force directory mode = 0777
        force create mode = 0777
        force group = wheel
        force user = root
        guest ok = Yes
        guest only = Yes
        public = yes
        writeable = yes
        read only = no

    30 МБ/с



  • поставил я 2 сетевухи в PCI слот интеловских, по 2 гигабитных порта каждая

    а что за карты такие? Полное название, маркировка чипа?



  • @mentor:

    Как бы все работает, но вылез косяк, поставил я 2 сетевухи в PCI слот интеловских, по 2 гигабитных порта каждая, думал будет быстрее как файлопомойка работать, но не тут то было, как скорость была 6-8 мб/сек, так и осталась, думал узкое место в PCI шине, добавил еще 1 сетевую в PCI-E слот, ничего не изменилось. Как была скорость 5-8 мегобайт в сек, так и осталась (((.

    Такие сетевухи надо ставить в серверные PCI-слоты с частотами 66 MHz. Они подикась PCI-X (длинные) с расчетом на частоту до 133 MHz ? По обычному PCI гигабит не прокачать, тем более в LAGG на двухпортовых.



  • @sweep4:

    Такие сетевухи надо ставить в серверные PCI-слоты с частотами 66 MHz. Они подикась PCI-X (длинные) с расчетом на частоту до 133 MHz ? По обычному PCI гигабит не прокачать, тем более в LAGG на двухпортовых.

    Да, именно такие, только под виндой в обычном компе они у меня вполне обеспечивали порядка 30 мб/сек пропускной способности на обычном PCI, именно поэтому и установил одиночную карту в PCI-E слот, но ситуация не изменилась, сейчас вытащу конфиг самбы и выложу здесь.



  • Вот мой конфиг самбы:

    [global]
    log file = /var/log/logsamba.%m
    load printers = yes
    socket options = TCP_NODELAY
    null passwords = yes
    interfaces = 192.168.1.1/255.255.255.0
    public = yes
    winbind use default domain = no
    wins support = true
    dns proxy = no
    netbios name = pfSense
    server string = Samba Server
    writeable = yes
    workgroup = pfSense
    os level = 20
    security = share
    create mode = 777
    max log size = 50
    directory mode = 777
    [homes]
      comment = Home Directories
      browseable = no
      writable = yes
    [printers]
      comment = All Printers
      path = /var/spool/samba
      browseable = no
      guest ok = no
      writable = no
      printable = yes
    [torrents]
    comment = Torrents Files
    writeable = no
    path = /disk/torrents
    [Share]
    comment = Share Files
    path = /disk/share



  • interfaces = 192.168.1.1/255.255.255.0

    нужно указывать именно карточку а не адрес

    добавьте это

    socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=65536 SO_SNDBUF=65536



  • @D1M0N:

    interfaces = 192.168.1.1/255.255.255.0

    нужно указывать именно карточку а не адрес

    добавьте это

    socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=65536 SO_SNDBUF=65536

    Добавил, скорость подросла, теперь 8-12 мб/сек, лучше, чем было, но все равно как-то до гигабита не дотягивает (((. Все равно спасибо за совет, может так по каплям и доведу до нормальной скорости.

    Пробовал данные карты на винде с тем же конфигом, 2-х головые гигабитные на PCI прокачивают порядка 22 мб/сек, гигабитная на PCI-E порядка 80 мб/сек. Вопрос - почему-же все-таки такая разница в скорости…. Причем в mc на винте операция копирования идет со скоростью 44-62 мб/сек.



  • попробуйте разный размер буфера (цифры SO_RCVBUF=65536 SO_SNDBUF=65536)

    65536 (641024)
    32768 (32
    1024)
    16384 (16*1024)

    я обжимал свой кросс по 2й схеме…
    http://wlanbook.com/ethernet-crossover-cable-pinout/



  • Обжимка не играет особой роли, т.к. под виндой на той же машине все ок (2 флешки 1 с виндой, вторая с pfsense), дело явно в софте, спасибо, попробую разные значения.


Log in to reply