Перейти к содержимому
Калькуляторы

Ну придумать как усложнить себе жизнь это у вас часто встречается. Вы хотите пошаговую инструкцию как в линуксах? :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот еще примерчик. По какой-то причине отвалилась дисковая подсистема, ssh нормально не заходит, но ssh root@host "команда" работает.

В логах dmesg "(da3:mps0:0:6:0): READ(16). CDB: 88 0 0 0 0 1 ac 84 91 c0 0 0 0 40 0 0 length 32768 SMID 596 terminated ioc 804b scsi 0 state c xfer 0

(da3:mps0:0:6:0): READ(16). CDB: 88 0 0 0 0 1 ac 84 8f c0 0 0 0 80 0 0 length 65536 SMID 894 terminated ioc 804b scsi 0 state c xfer 0

(da3:mps0:0:6:0): READ(10). CDB: 28 0 41 db cf 40 0 1 0 0 length 131072 SMID 499 terminated ioc 804b scsi 0 state c xfer 0

(da3:mps0:0:6:0): WRITE(6). CDB: a 1 37 8a 2 0 length 1024 SMID 398 terminated ioc 804b scsi 0 state c xfer 0

(da3:mps0:0:6:0): READ(10). CDB: 28 0 41 db ca 80 0 1 0 0 length 131072 SMID 433 terminated ioc 804b scsi 0 state c xfer 0

(da3:mps0:0:6:0): READ(10). CDB: 28 0 41 dc 9 c0 0 1 0 0 length 131072 SMID 652 terminated ioc 804b scsi 0 state c xfer 0

(da3:mps0:0:6:0): WRITE(6). CDB: a 1 37 ba 1 0 length 512 SMID 538 terminated ioc 804b scsi 0 state c xfer 0

(da3:mps0:0:6:0): WRITE(6). CDB: a 1 37 dc 1 0 length 512 SMID 890 terminated ioc 804b scsi 0 state c xfer 0

 

"

Отвалился скорее всего системный винт. Так вот из забавного - у фри нет ничего для аварийной перезагрузки. reboot флаги -q и -n не помогают (хотя команда живая - на неправильные флаги отзывается и выбрасывает "usage help"). Аналога echo b >/proc/sysrq-trigger как я понимаю в фре просто нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну придумать как усложнить себе жизнь это у вас часто встречается. Вы хотите пошаговую инструкцию как в линуксах? :)

нет, не пошаговую :) хотя бы просто packet flow, без шейпера, но с ipsec+nat. в man 8 ipfw описан самый примитивный случай.

 

у nuclight нашел сильно outdated текст.

вот смотришь на это и понимаешь, что в linux еще как-то всё сильно проще.

Изменено пользователем ^rage^

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот еще примерчик. По какой-то причине отвалилась дисковая подсистема, ssh нормально не заходит, но ssh root@host "команда" работает.
Отвалился скорее всего системный винт.

Больше на USB флешку похоже, у которой проблемы с контроллёром.

Либо фря уровня семёрки.

 

Так вот из забавного - у фри нет ничего для аварийной перезагрузки. reboot флаги -q и -n не помогают (хотя команда живая - на неправильные флаги отзывается и выбрасывает "usage help"). Аналога echo b >/proc/sysrq-trigger как я понимаю в фре просто нет.

Действительно нет.

Но в таких случаях обычно перезагрузка не поможет и придётся препарировать железо.

Если оч хочется - накидать модуль для ядра, который при изменения sysctl ключа будет ребутать - дело 10 минут.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Больше на USB флешку похоже, у которой проблемы с контроллёром.

Либо фря уровня семёрки.

9.1-STABLE

лол, pciconf не умеет human readable names (PCI database).

da3 at mps0 bus 0 scbus0 target 6 lun 0

da3: <ATA ST4000DM000-1F21 CC54> Fixed Direct Access SCSI-6 device

da3: 600.000MB/s transfers

da3: Command Queueing enabled

da3: 3815447MB (7814037168 512 byte sectors: 255H 63S/T 486401C)

 

Действительно нет.

Но в таких случаях обычно перезагрузка не поможет и придётся препарировать железо.

Если оч хочется - накидать модуль для ядра, который при изменения sysctl ключа будет ребутать - дело 10 минут.

Линупс на этом железе безотказно работал.

Ну там IMHO и накидывать нечего. На мой взгляд если там немного и кто-то в FreeBSD kernel programming разбирается - это давно должно быть в основной системе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

синтаксис iptables нормальный. синтаксис tc тоже, у tc главная проблема - ужасные маны и хелп. чтобы разобраться с tc, приходится искать чужие примеры, догадываться что к чему, копаться в исходниках и т.д.

 

относительно внутренностей(т.е., собственно ядра, а не юзерспейс утилит, заливающих правила туда) вопрос спорный. если б они были столь хороши, то не стали бы заниматься nft. например, у iptables нельзя отключить счётчики трафика, что как бы нехорошо с точки зрения производительности в ряде случаев, ну и вообще увеличение произодительности за счёт компиляции правил

Очень спорный момент насчет производительности nft (во всяком случае на не особо большом количестве правил). Каждый action и match в iptables - native код , сомнительно что bpf-like nft (даже с учетом

компиляции кода вирт. машины) будет быстрее.

В случае nft производительность должна быть выше за счет не линейного времени на match. Такие попытки кстати и раньше предпринимались (nf-HiPAC) , но оно заглохло.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

лол, pciconf не умеет human readable names (PCI database).

pciconf -lvh

оно?

 

da3 at mps0 bus 0 scbus0 target 6 lun 0

В 9 фре daX для жёстких дисков мигрировало в adaX, а daX осталось как линк, для совместимости.

Наверное не очень там супортят :)

 

Линупс на этом железе безотказно работал. Ну там IMHO и накидывать нечего. На мой взгляд если там немного и кто-то в FreeBSD kernel programming разбирается - это давно должно быть в основной системе.

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

procfs - для фри не обязательное, я его уже давно выключил везде, а только через него без загрузки с диска и можно что то гарантированно дёрнуть.

Да и область применения у такого лечения узкая: спасение когда дисковый контроллер сглюкнул и лечится ребутом, в остальных случаях 90% что придётся с др девайса бутится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Флудеры скорее всего ни разу не пользовали какойнить aix или прочий проприетарный юникс, так вот бздЯ после них это бальзам на душу, а пингвин это выкидышь и жертва аборта, в котором дыры и который падает

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а пингвин это выкидышь и жертва аборта, в котором дыры и который падает

 

А еще в нем нет tcp/ip, taylor uucp и драйвера uart.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а пингвин это выкидышь и жертва аборта, в котором дыры и который падает

 

А еще в нем нет tcp/ip, taylor uucp и драйвера uart.

как сочно набросил гость с таттуина )))

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

не троллинга ради, а по делу

 

есть freebsd 7.2-RELEASE (обновление невозможно по куче причин). man cpuset говорит, что есть опция -x (irq), но -h, говорит, что такое опции нет и её реально нет (на "cpuset -l 2 -x 256" ругается "illegal option -- x"). как на 7.2 закреплять прерывания за CPU?

 

И ещё вопросик - как сделать управление сервером(тот же freebsd 7.2-release) через COM-порт (RS232)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

И ещё вопросик - как сделать управление сервером(тот же freebsd 7.2-release) через COM-порт (RS232)?

 

 

https://www.freebsd.org/doc/handbook/serialconsole-setup.html

Procedure 25.1. Configuring a Serial Console on COM1

Connect the serial cable to COM1 and the controlling terminal.

To configure boot messages to display on the serial console, issue the following command as the superuser:
# echo 'console="comconsole"' >> /boot/loader.conf

Edit /etc/ttys and change off to on and dialup to vt100 for the ttyu0 entry. 
Otherwise, a password will not be required to connect via the serial console, resulting in a potential security hole.

Reboot the system to see if the changes took effect.

 

На семерке консоли вроде ttyd[0-x], но я думаю вы разберетесь, в файле строки почти готовые :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

есть freebsd 7.2-RELEASE (обновление невозможно по куче причин). man cpuset говорит, что есть опция -x (irq), но -h, говорит, что такое опции нет и её реально нет (на "cpuset -l 2 -x 256" ругается "illegal option -- x"). как на 7.2 закреплять прерывания за CPU?

 

 

Никак, компилять 7.3 и выше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

есть freebsd 7.2-RELEASE (обновление невозможно по куче причин). man cpuset говорит, что есть опция -x (irq), но -h, говорит, что такое опции нет и её реально нет (на "cpuset -l 2 -x 256" ругается "illegal option -- x"). как на 7.2 закреплять прерывания за CPU?

 

 

Никак, компилять 7.3 и выше.

 

а отдельно cpuset нельзя скомпилять? или ядро 7.2 не умеет прибивать irq к cpu?

 

https://www.freebsd....sole-setup.html

Procedure 25.1. Configuring a Serial Console on COM1

 

Connect the serial cable to COM1 and the controlling terminal.

 

To configure boot messages to display on the serial console, issue the following command as the superuser:

# echo 'console="comconsole"' >> /boot/loader.conf

 

процесс загрузки мне не нужен. нужно на живом сделать управление через com-порт, без ребута.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а отдельно cpuset нельзя скомпилять? или ядро 7.2 не умеет прибивать irq к cpu?

 

Функия ядра cpuset_setaffinity приобрела опцию про IRQ только в 7.3

Без ядра 7.3 смысла нету, увы.

 

процесс загрузки мне не нужен. нужно на живом сделать управление через com-порт, без ребута.

 

Вот, уже интересней, да. :)

Если не страшно: прописываете /etc/ttys и делаете kill -HUP 1

Это заставит init перечитать основную конфигурацию и запустить getty для нужного порта.

Просто так запустить getty тоже можно, но после выхода из консоли его некому будет перезапустить, поэтому не вариант.

 

PS. Я не знаю точно как это будет на 7.2, возможно отвалятся терминалы :-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а если запустить getty через screen? мне это не на постоянку надо, а на пару часов, сетевые интерфейсы перенастроить

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а если запустить getty через screen? мне это не на постоянку надо, а на пару часов, сетевые интерфейсы перенастроить

 

 

/usr/libexec/getty std.9600 ttyd0

 

под юзером должно пустить

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

обсуждать что лучше freebsd или linux то в целом здорово.

но почему никто не про openbsd, netbsd не вспомнил?

 

как раз вроде в них все новомодные сетевые фичи, в частности pf развивались существенно быстрее и лучше. и только потом переносились в freebsd, ну и линукс что-то подобное реализовывал.

 

source routing во freebsd сейчас есть или нет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

NetBSD - они под железо разное портируются активно. У них нативный ipfilter, который во фре никому не нужен.

 

В OpenBSD ...PF, который там не сказать чтобы активно обновляли, но в прошлом году у них был большой апгрейд, как раз после того как Глеб сделал SMP версию под фрю, теперь переделывать будет :)

Дак вот, у них ещё очень вкусный ASLR который во фрю всё никак не втянут, зато он уже есть в венде.

И всякие фишки с безопасностью связанные, Тео в яндексе много интересного рассказывал.

 

Во фре есть свой ipfw, который SMP уже давно и в принципе он быстрее PF. И в него постоянно втаскивают разные фишки.

PF сейчас интересен во многом из за своей реализации NAT, она как по скорости так и по фишкам лучше того что во фре на базе libalias.

При переходе на IPv6 интерес к PF во фре упадёт.

Конечно есть ещё в PF нормализация трафика, которой вроде нет в ipfw, synproxy и ещё какие то мелкие плюшки, но ничего особенного в принципе.

 

Ещё в BSD есть NetGraph, но его ценность сейчас упала, ибо появился netmap.

 

Сорс роутингом не интересовался, видел крутилки в сисцтл для него.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

source routing во freebsd сейчас есть или нет?

 

 

Что такое source routing?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Плз поясните по поводу превосходства в скорости реализации НАТ в pf над ipfw-шной (ipfw nat).

Например, если некий сервер с ipfw nat (порядка 80 instances) обслуживает 3Гбит/с IN трафика и 600Мбит OUT (на внешнем интерфейсе), то сколько смог бы пережевать он же с pf-версией НАТ ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Может даже намного меньше ибо pf только в FreeBSD >=10 SMP, а до этого живет на 1 ядре.

А ipfw nat умеет SMP уже довольно давно.

У pf просто плюшки в виде "нат в пул адресов", свои лимити на кол-во трансляций и прочее.

Изменено пользователем GrandPr1de

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.