LINUX.ORG.RU

Сообщения Spoofing

 

Установка системы на два диска RAID 1?

Форум — Linux-install

Такое вообще возможно?

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

Вот при железном рейде взял два диска, разметил в RAID 1, установил систему, она прозрачно загружается, могу на горячую один диск поменять.

При mdadm такое возможно? Мне кажется что нет, но поправьте. Потому что откуда UEFI знать, что там за раздел такой, он же не посмотрит внутрь RAID раздела из двух дисков чтобы обнаружить там FAT32 и загрузить ядро. А вот grub2 может быть и умеет, но это не точно.

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

Единственный рабочий вариант, это когда мы будем загружать initramfs с флешки или по сети PXE, этот initramfs будет нам подключать рейд из двух системных дисков в raid1 и делать switch_root туда, и никак иначе загрузиться линукс в raid1 не сможет? Тем более из UEFI сразу в ядро (EFI_STUB) переключиться?

Или мне колхозить отдельный /boot FAT32 раздел на диске, а когда один диск вылетит, то вставив запасной диск, ручками заново воссоздать /boot раздел? Полностью автоматизированный raid1 невозможен под систему?

 ,

Spoofing
()

Оцените PHP-класс для роутинга

Форум — Web-development

привет, друзья. пишу CMS с нуля, назвал её hacked)))

делаю роутинг. оцените пожалуйста.

API для работы выглядит следующим образом:

Route::register(
	[
		'/' => 'Home',
		'/user/$id/profile' => function ($id) {echo "Вы указали " . (int) $id . " в адресной строке";},
		'/blog/' => 'Blog::Index',
		'catch_all' => function () {die('404 - Not found.');}
	]
);

Route::run('/');

Метод Route::register принимает массив с данными в формате «путь» => «класс», «метод», «функция» или «омнонимная функция».

Если указать просто класс, то будет вызван метод $_SERVER['REQUEST_METHOD']. Например, если мы выполняем GET-запрос странички /home/, которая ссылается на класс Home, то будет выполнен new Home()->get(); соответственно для post будет вызван метод new Home()->post(); и так далее. Поэтому самому указывать GET, POST и т.д. нигде не нужно.

Так же, в URL можно передавать параметры функциям, например URL вида «/user/$id/profile» запишет в переменную $id реальное значение параметра из URL

В случае, если запрошенный адрес не соответствует ни одному из указанных шаблонов в массиве Route::register([]);, то будет предложено вызвать содержимое 'catch_all' из массива. Например, туда можно записать 404 ошибку.

Ну и в довершении всего, метод Route::run(); запускает на выполнение заданный REQUEST_URI.

Route::run('/');

Route::run('/blog/something-else-string/');

Route::run(strtok($_SERVER['REQUEST_URI'], '?'));

Вы можете сами указать там любой URI, таким образом из любого места в любом скрипте вызвать любую страничку. А можете оставить стандартный $_SERVER['REQUEST_URI'].

<?php

class Route {
	static protected $instance = null;

	static private $routes = [];

	public function __construct() {}
	public function __destruct() {}
	public function __clone() {}

	static public function register($routes) {
		if (self::$instance == null) {
			self::$instance = new self;
		}

		if (is_array($routes)) {
			self::$routes = $routes;
		}
	}

	static public function run($route) {
		if (self::$instance == null) {
			self::$instance = new self;
		}

		$request_method = strtolower($_SERVER['REQUEST_METHOD']);
		$discovered_handler = null;
		$handler_instance = null;
		$catch_all = true;
		$path_args = [];
		$path_parts = explode('/', $route);

		foreach (self::$routes as $pattern => $handler_name) {
			$uri_parts = explode('/', $pattern);
			$uri_args = [];
			$uri_rebuild = [];

			for ($i = 0; $i < sizeof($uri_parts); $i++) {
				if (isset($path_parts[$i])) {
					if (substr($uri_parts[$i], 0, 1) == '$') {
						$name = substr($uri_parts[$i], 1);
						$uri_args[$name] = $path_parts[$i];
						$uri_rebuild[] = $uri_parts[$i];
					}
					elseif ($path_parts[$i] == $uri_parts[$i]) {
						$uri_rebuild[] = $uri_parts[$i];
					}
				}
			}

			$uri_rebuild = implode('/', $uri_rebuild);

			if (isset(self::$routes[$uri_rebuild])) {
				$discovered_handler = $handler_name;
				$path_args = $uri_args;
			}
		}

		if ($discovered_handler) {
			if (is_string($discovered_handler)) {
				if (class_exists($discovered_handler)) {
					$handler_instance = new $discovered_handler();
				}
			}
			elseif (is_callable($discovered_handler)) {
				$handler_instance = $discovered_handler();
			}
		}

		if ($handler_instance) {
			if (method_exists($handler_instance, $request_method)) {
				$catch_all = false;
				call_user_func_array([$handler_instance, $request_method], $path_args);
			}
		}

		if ($catch_all) {
			if (isset(self::$routes['catch_all'])) {
				self::run('catch_all');
			}
		}

	}
}

 

Spoofing
()

Переходим на SAMBA всем ЛОРом

Форум — Talks

SAMBA — это новый стандарт файлообмена, Linux 5.15 ещё не релизнулось, но уже сейчас можно скачать Linux 5.15-6rc, запустить make menuconfig и включить SMB_SERVER в разделе File systems > Network File Systems.

# uname -a
Linux host 5.15.0-rc6 #1 SMP Mon Oct 18 13:12:46 MSK 2021 x86_64 Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHz GenuineIntel GNU/Linux
# crux
CRUX version 3.6
# cat /boot/config-5.14.15-rc6 | grep SMB_SERVER
CONFIG_SMB_SERVER=m
CONFIG_SMB_SERVER_CHECK_CAP_NET_ADMIN=y
# CONFIG_SMB_SERVER_KERBEROS5 is not set

Ребята молодцы, сервер для файлообмена прямо в ядре, теперь расшарить файлы между устройствами — вообще не вопрос, просто запускаешь сервер в ядре и вот оно, корневая файловая система как на ладони.

А для запуска требуется всего-то доустановить ksmbd-tools, набор утилит для управления самба-сервером из юзерспейса, — из зависимостей у неё только glib (не путать с glibc) и libnl.

Pkgfile для CRUX, rc.d скрипт запуска

# modprobe ksmbd
# mkdir /etc/ksmbd
# wget -O /etc/ksmbd/smb.conf https://raw.githubusercontent.com/namjaejeon/ksmbd-tools/master/smb.conf.example
# ksmbd.adduser -a username
# ksmbd.mountd

Заходим с любого Windows-устройства и видим работающую шару, ура!

Забудьте про scp+tar и прочие мучения. Всем рекомендую!

 ,

Spoofing
()

Компьютер для разработчика CRUX GNU/Linux, 128 / 256

Галерея — Скриншоты

Решили собрать простенький компьютер для сборки дистрибутивов на базе CRUX GNU/Linux, ну и немножко для виртуалок с ними.

Платформа HP ProLiant DL385 Gen10

Два процессора AMD EPYC 7742, — 64 ядра, 128 потоков, что в сумме даёт 256 потоков. Картина мира не умещалась в htop, пришлось сделать чуть поменьше размер шрифта. 😊

Пока 4 плашки памяти по 64гб, в будущем если повезёт, добьём все 24 слота по 64гб == 1536Гб (1.5Тб) памяти.

https://www.voglea.com/20211005_075033.jpg — фото, пока сервер спит, люблю его 💕😘

Ещё картинок с iLO:

https://www.voglea.com/2021-10-05-082109_3440x1440_scrot.png

https://www.voglea.com/2021-10-05-101113_3440x1440_scrot.png

https://www.voglea.com/2021-10-05-101121_3440x1440_scrot.png

Будем пытаться преодолеть барьер скорости сборки ядра Linux быстрее, чем за 30 секунд...

>>> Просмотр (3440x1440, 184 Kb)

 , ,

Spoofing
()

Белого мужчину опять угнетают

Форум — Talks

Не пью, не курю — чек

Порядочный, чистоплотный — чек

Домашний образ жизни написан на лице, как говорится — чек

«Славянской внешности» как то указывают в объявлениях — чек

Но мне не хотят сдавать квартиру в аренду, потому что одинокий 30-летний мужчина выглядит слишком подозрительно)))

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

А суть такова, начальство решили повысить з/п, но отпустить в свободное плавание так сказать, т.е если по приезду в МСК я уже был с крышей над головой, то теперь немного освоившись и обжившись, мне предложили заняться этим вопросом самостоятельно. Договор аренды истекает.

Привет ЛОР, сниму квартиру в аренду на долгий срок в г. Раменское.

 

Spoofing
()

Как лучше реализовать взаимодействие web + shell

Форум — Development

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

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

Как лучше такое реализовать?

Сейчас думаю, что сайт пишет в БД все нажимаемые кнопочки на сайте (команды), а шелл-скрипт на хосте (хостах) опрашивает сайт каждые несколько секунд. Когда шелл-скрипт видит, что команда предназначена для его хоста (`hostname -f`), то выполняет её с указанным ID команды, а затем возвращает ответ на сервер результат о выполнении с этим ID, подтверждая, что команда выполнена успешно, или не успешно, или по некоторому таймауту команда может считаться не выполненной, или таймаута может не быть т.к. команду надо выполнить когда хост выйдет на связь опять.

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

 ,

Spoofing
()

С линуксом на планшетах всё так плохо?

Форум — Desktop

Дали поиграться такой вот планшет, Samsung 700T, ну штош, дцать лет жизни бок о бок с андроидом ведь не должны пройти даром для линукса? Не должны ведь?...

Это обычный x86 компьютер в формфакторе как планшет и ещё по экрану можно тыкать пальцем. Больше различий нет. Сенсор эмулирует устройство мыши, так что даже курсор в tty работает как обычная мышь через gpm.

В кедах до сих пор нет виртуальной клавиатуры из коробки? Ребята, вы серьёзно? Чем вы занимались все эти 10 лет, когда наступила эпоха пальцетыкательных экранов? Проводили конкурсы на лучшую обоину для рабочего стола?

Но не только кеды, в принципе виртуальные клавиатуры застряли на уровне развития «hello world», я такие писал в браузере когда изучал html/js, чтоб нажал на кнопку и буковка отправилась в поле ввода.

Где возможность провести пальцем по буквам и получить заветное слово? Где автоподбор, автозамена?

Линукс для планшетов совершенно не готов! Что делать с этой штукой называемой планшетом идей не приходит, но без толковой экранной клавиатуры пользоваться этим устройством нельзя. Ставить туда оффтопик не предлагать. Android x86? Чтобы ограничить потенциал как-бэ полноценного компьютера? Ну нет.

Виртуальных клавиатур, я так понимаю, в линукс пока ещё не завезли?

 

Spoofing
()

Серверов продаёте? Показываем... И продаём.

Галерея — Рабочие места

Привет, ЛОР! Сколько воды утекло... Давно не постил ничего интересного, тем более скриншоты. Ну штож, пришло время показывать новое рабочее место!

Работаю я в компании-лидере своей отрасли, которая занимается сборкой серверов на заказ. Занимаюсь я непосредственно сборкой железа, обновлением ПО и тестированием. И теперь-то я нахожусь на своём месте.

Рабочих мест у меня два, офисный стол вы видите на фото, ну а второе, — это где происходит вся магия сборки серверов.

На столе, конечно же, любимая клавиатура Microsoft Wired Keyboard 600 и ноутбучная мышь Lenovo Xiaoxin Air 2, которая умеет работать через нативный Bluetooth и через USB-трансмиттер.

Два монитора, DELL U3415W (34", 21:9, 3440x1440) и IIYAMA XB3288UH (32", 4K).

Работаю тоже за двумя девайсами одновременно:

Ноутбук LG Gram 17" (2560x1600), который подарили на работе, в конфигурации i7-1065G7, 40GB RAM, 512GB NVMe.

Мини-ПК Intel NUC в конфигурации i5-8259U, 16GB RAM, 512GB NVMe — это та самая чёрная коробочка под монитором.

Основная операционная система CRUX GNU/Linux, оконный менеджер FVWM.

А за моей спиной на подоконнике стоит такой зверёныш HP MicroServer Gen10 который нужен в основном для коллекционирования всяких магнитиков, наклеек и прочих «ачивок».

На самом деле в офисе все пользуются Wi-Fi, но а мне как технику зачастую нужен проводной интернет для тестирования прочих железяк помимо серверов, и чтобы далеко не ходить, на базе Mele PCG02 GLK соорудил простенький роутер, который Wi-Fi принимает, а дальше раздаёт сеть по проводу. Загружается он с флешки, в дистрибутив, собираемый при помощи booty. Очень слабый мини-ПК, но с задачами раздавать интернеты справляется.

И... результат моих трудов выглядит так. =)

Из плюшек на работе, помимо хорошего коллектива, приятной айтишной атмосферы, и всего такого прочего... Мне выделили целый сервер для собственных хотелок, — процессоры, какие захочу, памяти, сколько захочу, и занимайся своими пет-проектами. И пользуясь случаем, я конечно же, нафаршировал его по полной.

>>> Просмотр (2560x1440, 1419 Kb)

 ,

Spoofing
()

Собираю 250 серверов, боюсь, провалится пол

Форум — Talks

На повестке дня встал вопрос — провалится ли пол!?

Серверы DELL и HP, в конфигурации 2690v3 128GB, поедут в дата-центр в Санкт-Петербург.

* 80 R630 (1U 8SFF)

* 50 DL380 (2U 12LFF)

* 120 DL360 (1U 8SFF)

https://www.voglea.com/20210909_181207.jpg

Переживаю, что провалится пол. Или не провалится? Как лучше распределять уже собранное железо?

А хотите очередную шутку от DELL?

https://www.voglea.com/20210907_183329.jpg

К вашему серверу не подключена клавиатура! Пожалуйста, подключите клавиатуру!

Старайтесь избегать DELL, не совершайте чужих ошибок.

Ну а линукс здесь при том, что именно он будет рулить всеми этими мощностями.

 , ,

Spoofing
()

ksmbd — реализация SAMBA (виндовой шары) на уровне ядра

Форум — Talks

Тут в 5.15 хотят добавить SAMBA-сервер прямо в ядро.

Почему в ядро? Почему хотя бы не в systemd, если им так хочется сделать самбу «нативной», обязательной к использованию в каждой системе?

Почему бы тогда не сделать ftp, http/webdav сервер в ядре? sshd прямо в ядро? Так можно и до X11 в ядре докатиться, простите.

Из аргументов «за» это скорость работы, но извините меня, давайте всю систему уже затолкаем в ядро? Чо нет-то?

Кому нужна самба — ставят самбу, получают помимо файлообменника ещё и управление виндовыми политиками и прочую ересь, хрен бы с ними, но они хотят засунуть в ядро реализацию самбы, которая предоставляет только и только файлообмен. ДА ПОЧЕМУ САМБА-ТО? Почему не FTP? А вообще как дела там с безопасностью? Я могу выставить ksmbd из ядра смотреть наружу в интернет? Чонет-то? Ядро же! А если ksmbd работает на уровне ядра, ограничить к нему доступ? На уровне iptables? То есть, там будет такой пунктик в .config файле ядра, ограничить доступ к ksmbd правилом iptables? Или это система на уровне юзерспейса должна делать? То есть смотрите, ядро загружается с ksmbd, никакого юзерспейса у нас нет, ksmbd смотрит в интернет наружу, ждёт, пока система дозагрузитися и добавит уже правило в iptables? Вы понимаете что по меркам компьютеров 5 секунд загрузки системы — это вечность и за это время можно эксплуатировать ksmbd на полную, пока к ней есть доступ?

Что вообще за бред я сейчас читаю на быдланете? Какой ещё такой демон на уровне ядра?

Я согласен с тем, что это удобно, особенно для встраиваемых устройств, получать root-доступ к файловой системе для обновления прошивки например. Это всё уже было в лихие 90ые, когда мы по FTP загружали сайт на хостинг, обновляли так. Сейчас хотят внедрить подобное, уже через SAMBA, в само ядро.

Не знаю, активно использую FTP в локальных сетях (из двух-трёх девайсов), скорость работы — огонь т.к. данные летят из порта в порт. Если бы я хотел Windows share, я бы плюнул на Windows-way и поставил SAMBA.

Что, SAMBA стал новым универсальным протоколом на замену FTP, что его демона решили впихнуть аж в само ядро?

 ksmbd

Spoofing
()

Выбор корпуса

Форум — Talks

Хочу розовенький

 

Spoofing
()

Большой тест-сравнение серверных процессоров при сборке ядра Linux

Форум — Talks

Картинка для привлечения внимания.

Привет, друзья. Прошло ровно 3 месяца, как я живу на новом месте, — целый сезон, считай. Ну так вот. Через мои руки проходят сотни различных процессоров и платформ — в основном HP, терабайты оперативной памяти и петабайты жестоких дисков...

Одним из моих любимых тестов серверных железяк (да и не только), конечно же, является сборка ядра Linux. Видно, как успешно бы машина справлялась с типовой задачей собирать дистрибутивы линукса по-кругу и стоит ли вообще такая платформа своих денег. Так же, сборка линукса не требует сиюминутного решения, — оставляем железку молотить на ночь и уходим спать. А в свободное от сборки сорцов время сервер не должен много кушать.

Все тесты производились в оперативной памяти: дистрибутив CRUX с актуальными обновлениями, gcc 10.3.0, версия ядра на текущий момент linux 5.13.12. Дистрибутив загружался по сети (iLO) с распаковкой в tmpfs и работал из корневого tmpfs-каталога. Привет, booty.

https://www.voglea.com/20210820_081521.jpg

Например. Платформа HP DL360 Gen9: один процессор 2609v3, одна планка памяти, один блок питания. Подключена только материнская плата, подключено 5 из 7 кулеров — если отключить больше, то сервер будет повышать обороты оставшихся кулеров и ругаться (настраивается). Отключена даже корзина для дисков. ОС загружена и ничего не делает, находится в простое. Итоговое потребление составляет 34W. При тех же данных, потребление HP DL360 Gen8 составляло уже 45W — если у вас дорогое электричество, берите платформу посвежее, оно окупится. При установке второго процессора в Gen9 энергопотребление поднялось уже до 48W, но всё ещё в пределах полста — хороший показатель, ящитаю. Горит себе 50-ваттная лампочка и ладненько.

https://www.voglea.com/2021-08-13-164603_3440x1440_scrot.png

Теперь вы знаете, что, когда вы захотите себе настоящий сервер домой, он не будет много кушать.

Для проведения теста собираем linux 5.13.12 в том же tmpfs.

Первый тест, который бударажит умы всех детишек.

 — Влияет ли объём оперативной памяти на скорость сборки ядра?

 — Нет.

https://www.voglea.com/20210820_072754.jpg

https://www.voglea.com/2021-08-20-080406_3440x1440_scrot.png

https://www.voglea.com/2021-08-20-081952_3440x1440_scrot.png

Сервер HP DL360 Gen8, установлено два самых младших процессора 2609 (первой версии), установлено 24 планки памяти по 32GB, итоговый объём памяти 768GB.

real    9m44.000s
user    68m41.466s
sys     5m16.305s

https://www.voglea.com/20210820_072343.jpg

Оставляем 2 планки по 32GB по каждой на процессор. Результат в пределах погрешности.

real	9m39.926s
user	67m59.048s
sys	5m13.243s

По субъективным ощущениям я вам так скажу: это даже не затычка вместо процессора, это... Это просто заглушка. Защитная заглушка на сокет. Когда наблюдаешь за сборкой ядра, то ты буквально чувствуешь как оно в натяжечку выполняет каждый такт. Это ужасно. Но за то процессоры относительно дешёвые, $299 по рекомендованной цене Intel.

https://www.voglea.com/20210820_085417.jpg

https://www.voglea.com/2021-08-20-092502_3440x1440_scrot.png

Другой нюанс это рабочая частота памяти. В сервере 24 сокета под память 3-мя рядами. Просто посмотрите на картинку HP DL360 Gen9: сперва устанавливаем в беленькие, затем в чёрненькие, затем в синенькие сокеты. Суть в том, что когда мы ставим хотя бы одну планку в третий ряд, в синенький сокет, то сервер сразу сбрасывает рабочую частоту памяти. Была номинальная рабочая частота 2400, а станет 1600. Но сейчас речь идёт не о сервере, а о процессоре. Сам процессор младшей линейки вплоть до 2650 сбрасывает рабочую частоту памяти. Поэтому вместо 1866 мы имеем 800.

По личным ощущениям, ядро собирается на жёстком диске, тогда как в реальности все действия происходят в tmpfs.

Это даёт вам понять главное: сервер это ещё не значит круто или быстро. Зачастую приобрести десктопное железо может оказаться проще и дешевле, и гараздо эффективнее для решения задач, чем брать серверную платформу.

Реально из серверных фич, единственное, чем вы будете пользоваться:

  • Удалённое включение / выключение сервера.

При сильном желании такое можно сколхозить самому для десктопов. Есть Wake-On-Lan, есть управляемые розетки, в конце концов.

  • Удалённое монтирование ISO-образов дисков по http, т.е. сервер эмулирует CD-ROM как /dev/sr1 устройство и через веб-интерфейс iLO вы можете подключить любой ISO-образ для загрузки по http.

Частично решается через PXE, но не всё можно загрузить таким образом, словно это обычный CD-ROM.

  • Через веб-интерфейс вы увидите всё, что происходит на мониторе на реальном железе.

Такое даже сколхозить будет не так просто.

  • RAID

Другими серверными фичами, такими как рейд-контроллер, вы находясь в здравом уме пользоваться не станете, понимая, что у вас нет контроля над этим железом. Сегодня оно ВКЛ, а завтра оно ВЫКЛ. Даже при наличии супер-пупер рейд-контроллера я рекомендую перевести его в режим host bus adapter и продолжать пользоваться софтварным рейдом.

Если вы мечтали о сервере дома — скажем так, реальных киллер-фич у серверного железа перед декстопным почти что нет, и скорее всего при бытовом использовании сервера вы ими пользоваться не станете. Телебонькая локалхосты вы особо ничего не потеряли. Такие дела.

Конфигурация железа следующая:

  • HP DL360 Gen9
  • Процессоры пробуем все подряд, по два штуки
  • Оперативная память 8 планок по 32GB 2400MHz HP SmartMemory
  • Всё действие происходит в tmpfs
  • make defconfig && make -j$(nproc)

2x 2620v3 — $417.00

real	5m7.252s
user	50m40.552s
sys	4m45.624s

2x 2630v3 — $667.00

real	3m29.007s
user	87m21.086s
sys	6m37.888s

2x 2640v3 — $939.00

real	3m55.450s
user	50m30.410s
sys	4m44.376s

2x 2650v3 — $1166.00

real	3m19.920s
user	52m8.369s
sys	5m5.728s

2x 2660v3 — $1445.00

real	3m19.011s
user	51m52.841s
sys	5m7.123s

2x 2670v3 — $1589.00

real	2m53.634s
user	51m57.252s
sys	5m5.934s

2x 2680v3 — $1745.00

real	2m56.250s
user	51m54.851s
sys	5m8.006s

2x 2690v3 — $2090.00

real	2m51.973s
user	52m13.885s
sys	5m7.032s

2x 2690v4 — $2090.00

real    2m28.182s
user    49m13.461s
sys     4m54.381s

2x 2667v3 — $2057.00

real	3m53.953s
user	50m17.703s
sys	4m43.649s

2x 2667v4 — $2057.00

real	3m47.830s
user	47m54.207s
sys	4m35.314s

2x 2697Av4 — $2891.00

real	2m14.829s
user	49m18.552s
sys	4m58.253s

Взгляните на эти цифры. Где-то разницы вообще нет (2650v3/2660v3) при разнице в цене в 300 баксов, а где-то наблюдается явная деградация (2630v3/2640v3) при той же конфигурации железа. Не дайте себя обмануть. Большинству людей, которые покупают сервер — им эта самая серверная платформа не нужна. Она стоит космических денег, когда по цене одной только платформы можно собрать десктоп для тех же задач. Настроить софтварный рейд. Хочешь — возьми второй десктоп для резервирования. Как это обычно бывает: кадры решают. Решает системный администратор, чтобы система исправно работала, а не железка. Мне кажется, зачастую сервер покупают потому что это СЕРВЕР, а не потому, что он им реально нужен. И никаких реальных преимуществ, кроме разве что KVM-управления через веб-интерфейс, серверная платформа перед десктопами не даёт.

Какие процессоры рекомендовал бы лично я?

2609 — процессор, который ставить вредно. Такой сервер больше скушает электроэнергии, чем от него будет ощутимый выхлоп, и даже высокочастотная память не затащит: процессор сам занизит частоты.

2650 — с него начинаются честные частоты по памяти, сколько заявлено, столько вы и получите, только если вы не собираетесь использовать все 24 слота под память, в таком случае уже сама платформа снизит рабочую частоту памяти.

2680, 2690, 2667, 2697 — процессоры, начиная с которых имеет смысл рассматривать серверную платформу к приобретению. То есть, если вам нужен Сервер с большой буквы, то ставить что-то младше 2667 / 2680 не имеет смысла, иначе сервер вам на самом деле не нужен вовсе, лол.

Естественно, задачи разные, кто-то возьмёт 2609 с одной планкой памяти на 16гб чтобы собрать на нём NAS, — таких товарищей тоже знаю и решение одобряю.

Ну а чтоб и сервер, и чтоб «занидорага»... Честно, возьми десктоп и не майся ерундой.

https://www.voglea.com/20210820_095317.jpg

Ну а в финале нас ещё ждёт битва боссов, EPYCов против XEONов. =)

 , ,

Spoofing
()

Soft RAID или Hard RAID?

Форум — Talks

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

Во-первых, соц. опрос, я помучал коллег на работе глупыми вопросами, теперь интересно узнать мнение ЛОРа.

Представьте себе, что вы купили сервер, в нём 8 SFF (2.5") дисков. как бы вы строили отказоустойчивую архитектуру на сервере? Большинство склоняется к мнению, что они берут два диска, размечают их в RAID 1 (для зеркала) и ставят туда операционную систему, а на остальные 6 дисков накатывают данные.

В случае выхода из строя диска с системой мы его меняем, контроллер восстанавливает копию, вроде звучит неплохо.

А какой тип рейда лучше взять для данных? Поразмышляв я пришёл к мнению, что всё зависит исключительно от расп...кхм, личной ответственности системного администратора, а не технического задания, на самом деле.

Например RAID 6 позволяет выйти из строя двум дискам, RAIDZ 1/2/3 позволяет вылететь до трёх дисков, в то время как более упрощённые варианты RAID-массивов а-ля зеркала RAID 1 или RAID 10 потребуют незамедлительной замены дисков обслуживающим персоналом. То есть, выбор массива зависит скорее от человеческого фактора, нежели от технических решений, — готовы ли вы поменять вылетевший диск сразу как только он выйдет из строя (читай заблаговременно, мониторя его состояние), или же вам пофигу, и поменяете потом как руки дойдут... Так ли это на самом деле?

Разница между RAID 1+0 и RAID 10 в том, что в случае с 1+0 диски являются копией друг друга по-парно, а при 10 складывается два массива из дисков. На первый взгляд я считаю 1+0 лучше, потому что при замене диска на него будет синкаться его зеркальная копия, одна единственная. А если мы возьмём RAID 10, то тут будет два массива данных, и уже эти массивы являются копиями друг друга, и на мой личный взгляд, выглядит избыточно. Чем решение проще, тем оно вернее, поэтому мне кажется 1+0 лучше тем, что он проще, — буквально dd делается с диска на диск. Поправьте где я не прав, буду благодарен.

Ещё я пришёл к мысли, что софтварный рейд как ни крути во сто крат раз лучше, чем все эти железные решения. Да, конечно, железное решение обеспечивает полностью прозрачную работу рейда, но минус — железо ломается. И железо в конце концов ограничено в своих возможных конфигурациях.

Софтварно мы можем строить целые пирамиды из различных типов рейдов, наслаивая их друг на друга. В буквальном смысле, мы можем из пустых файлов создавать массивы и взращивать его аки чайный гриб, после чего переносить на любые физические носители и dd'шить их обратно, и когда сломается железо, то нам не страшно, — мы меняем железо аки лампочку в цоколе, переносим рейды хоть на флешках, подключаем, запускаем... На любом железе, работаем с рейдом через софт, от сервера до микроволновки. Да всё что угодно, понимаете. Софтварный рейд в этом плане даёт абсолютную свободу действий.

Теперь же возвращаясь к железячному рейду.

https://www.voglea.com/20210814_094618.jpg

Вот я взял сервер HP DL360p Gen9, контроллер P440ar, воткнул два диска, разметил в RAID 1, установил туда ESXI, загрузился, работает. Вытащил один диск, заменил другим, посмотрел как контроллер восстанавливает данные — круто. Но теперь я хочу перенести ОС на другой сервер, не просто имитировать сломанный контроллер P440ar, заменив его другим таким же, а перенести данные с Gen9 на Gen8 по соседству.

В случае с софтварным рейдом всё было бы очень просто, как уже писал, я могу в буквальном смысле работать с файлами — с образами дисков, а тут я воткнул два диска в другой сервер и... Он не видит на нём рейда. Что делать? Куда нажать чтобы он увидел рейд и загрузился в ESXI? Это же энтерпрайз, HP, я за это якобы сотню денег плачу. Где моя гибкость решений?

https://www.voglea.com/2021-08-14-090338_3440x1440_scrot.png

Подскажите пожалуйста, как восстановить RAID на другом сервере и загрузиться в ОС, куда нажать. И возможно ли это будет сделать на другом сервере например DELL PowerEdge R360?

А ещё есть клиенты, которые предпочитают ставить систему на M.2 NVMe накопители, используя PCI-Express адаптеры, подключённые к рейзеру. Он не коммуцирует с RAID-контроллером сервера, поэтому такая система работает на страх и риск системного администратора, но за то все 8 дисков можно отдать под данные.

В заключение скажу, что поработав с настоящим серверным железом, я понимаю, что двигаюсь в правильном направлении, когда предлагаю создавать уже готовые к работе конфигурации систем с использованием booty, загружаться в них в память по сети, и таким образом работать с данными на сервере в софтварном или нет (по желанию) рейде, полностью отдав диски под данные. А не вот это вот всё... И софтварный рейд лучше, тем, что полностью подконтролен лично нам, а не серверной железке.

 , ,

Spoofing
()

Связка DNS + DHCP, что нынче энтерпрайзно?

Форум — Admin

ISC DHCP + ISC BIND FTW

но что-то слишком много зависимостей стали требовать на ровном месте, bind 9.17.17, libnghttp2, чего? с каких пор для работы dns нужен http? тьху!

на чём лучше собирать связку DNS + DHCP сейчас?

не dnsmasq.

 , ,

Spoofing
()

PCG02, Intel 3165, отсутствует сетевой интерфейс

Форум — Linux-hardware

dmesg

[    0.827070] iwl4965: Intel(R) Wireless WiFi 4965 driver for Linux, in-tree:
[    0.827072] iwl4965: Copyright(c) 2003-2011 Intel Corporation
[    0.827120] iwl3945: Intel(R) PRO/Wireless 3945ABG/BG Network Connection driver for Linux, in-tree:s
[    0.827122] iwl3945: Copyright(c) 2003-2011 Intel Corporation
[    0.827124] iwl3945: hw_scan is disabled
[    0.827149] Intel(R) Wireless WiFi driver for Linux
[    0.827447] iwlwifi 0000:02:00.0: enabling device (0000 -> 0002)
[    0.829606] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-29.ucode failed with error -2
[    0.829638] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-28.ucode failed with error -2
[    0.829660] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-27.ucode failed with error -2
[    0.829683] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-26.ucode failed with error -2
[    0.829705] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-25.ucode failed with error -2
[    0.829728] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-24.ucode failed with error -2
[    0.829750] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-23.ucode failed with error -2
[    0.829773] iwlwifi 0000:02:00.0: Direct firmware load for iwlwifi-7265D-22.ucode failed with error -2
[    0.829780] iwlwifi 0000:02:00.0: no suitable firmware found!
[    0.829794] iwlwifi 0000:02:00.0: minimum version required: iwlwifi-7265D-22
[    0.829802] iwlwifi 0000:02:00.0: maximum version supported: iwlwifi-7265D-29
[    0.829810] iwlwifi 0000:02:00.0: check git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git

lspci

02:00.0 Network controller: Intel Corporation Wireless 3165 (rev 91)
        Subsystem: Intel Corporation Wireless 3165
        Flags: fast devsel, IRQ 23
        Memory at 82100000 (64-bit, non-prefetchable) [size=8K]
        Capabilities: [c8] Power Management version 3
        Capabilities: [d0] MSI: Enable- Count=1/1 Maskable- 64bit+
        Capabilities: [40] Express Endpoint, MSI 00
        Capabilities: [100] Advanced Error Reporting
        Capabilities: [140] Device Serial Number d4-25-8b-ff-ff-d5-27-03
        Capabilities: [14c] Latency Tolerance Reporting
        Capabilities: [154] L1 PM Substates
ls /lib/firmware/iwlwifi-* | wc -l
128
CONFIG_IWLWIFI=y
CONFIG_IWLWMVM=y

устройство опознаётся ядром, фирмварь лежит, но сетевой интерфейс не поднимается, — пишет, что не может её загрузить, однако вот же она лежит, WTF!? попробовал с сайта intel скачать архив с блобами, тоже не помогло.

что я упустил? :(

 

Spoofing
()

Не покупайте серверы DELL

Форум — Talks

За чуть более чем за месяц через мои руки прошли пара сотен серверов HP (Gen8 DL360 1U для 2.5" и 3.5", Gen8 DL380 2U для 3.5", Gen9 DL360 для 2.5" и 3.5", ну и несколько Gen10), и, конечно же, 70 штук DELL PowerEdge R630, чтобы было с чем сравнивать. Под словом «прошли» я подразумеваю в буквальном смысле, полное обслуживание сервера, разбор комплектующих, обновление и тыды.

Так вот, если перед вами однажды встанет выбор что брать: HP или DELL — НЕ ЗАДУМЫВАЯСЬ БЕРИТЕ Hewlett Packard!

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

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

DELL требует интерактивного ввода, например, если вы замените память, DELL не запустится, пока вы не нажмёте F1. Как на десктопных материнках. Представьте себе, стоит сервер в ДЦ, сломался рейд или серверу не понравилась фаза луны? Ставь на тумбочку с колёсиками монитор, клавиатуру, и катись к серверу.

DELL — это типа сервис, ну а HP — это сервер сам в себе. Без лицензии на DELL у вас не будет KVM-консоли через веб-интерфейс, не будет работать монтирование дисков удалённо. В HP вы вводите ключ, найденный на просторах интернета, и получаете полноценный сервак, с KVM и монтированием дисков по http, например.

Без лицензии iDRAC бесполезен. Вкл./Выкл. сервер.

Тупой iDRAC. Если сбросить настройки, то по-умолчанию там стоит статический IP-адрес 192.168.0.120. ЗАЧЕМ? Ладно. Но тут попала мне пачка серверов, запускаю, nmap — нету в сети сервера, какого? Захожу в настройки, стоит DHCP, а сервера нету. Ладно. Сбрасываю iDRAC, выставляю DHCP, ну вот он появился. Один вопрос: что это вообще было? Почему просто воткнутый кабель в iDRAC порт ещё не является гарантом его работы, а нужно включать сервер и куда-то РУКАМИ заходить! НА СЕРВЕР! РУКАМИ! АААА! Мне вообще-то ехать надо, а не разбираться какие там условности у iDRAC происходят, что он не получает IP'шник.

Тупая цикличная загрузка, которая опять же требует нажатие клавиши F1 для попытки загрузиться просто ещё раз. То есть, если я в HP просто подключаю удалённый http-ресурс (iso какой-нить), то его я и получаю, а у DELL надо ещё клавишу прожимать, — и напоминаю, что KVM через веб-интерфейс не доступен.

Кто эти деллы вообще покупает? Зайди в любой магазин с компьютерами, собери десктопов обычных, результат будет абсолютно тот-же. На любой пук всё равно будешь бежать к «серверу». Никакой автономии, вот прям вообще.

Ощущение после DELL такое, будто его собирали из десктопного железа на коленке, оставив все сопутстующие десктопам болячки. И называть их железо «сервером» язык уже не повернётся. Надеюсь, больше никогда не буду иметь дело с DELL, кроме как поменять комплектующие или обновить прошивку. Полный бред, а не сервера.

 , ,

Spoofing
()

Не готов для серверов

Форум — Admin

Вот вы говорите — десктоп, десктоп. Да линукс на десктопах «просто работает» по сравнению с серверами!

Ну вот, берём ванильное ядро с kernel.org, просто собираем defconfig и просто НИЧЕГО НЕ РАБОТАЕТ АААААААА

fdisk -l ничего. я думал, может там по-хитрому сделали, что рейд-контроллер не будет их показывать, пока ты через внутреннюю фирмварь (intelligent provisioning / smart storage) не создашь рейд-массив с дисками, и тогда да, он тебе весь рейд целиком отобразит в виде единого /dev/sda, ага, ага, да.

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

прости господи! SFP карточку не видать из коробки! оптическую сетевую карточку для серверов на операционной системе для серверов! младой человек, прекратите баловаться и немедленно переключите вашу сетевую карту в 10мбит!

dmesg кому интересно.

линукс для серверов не готов: его надо готовить самому. у меня всё.

 ,

Spoofing
()

Есть чем развернуть копию ванильного дистрибутива линукс?

Форум — Linux-install

Debian, Ubuntu, CentOS или что там нынче, Fedora, Arch Linux, Gentoo, Slackware...

Вот весь этот зоопарк.

Существует ли в природе инструмент, чтобы в любом дистрибутиве развернуть ванильную копию свежеустановленной системы в условное chroot окружение?

Вот прямщяс я вижу лишь вариант, самому через виртуалку произвести установку всех популярных дистрибутивов, закатать их в cpio, tar и по мере надобности получить ванильную копию свежеустановленной системы — дёргать её из архива.

А может есть универсальный враппер над всеми этими pacstrap, debootstrap, dnf --installroot, и что там ещё в природе есть... При чём, инструмент повторюсь, должен быть универсальным и работать на любом дистрибутиве.

Но универсальным сейчас мне видится только tar/cpio. Минус такого подхода в том, что обновление систем придётся выполнять в ручном режиме, опять же.

Хочу одной командой разворачивать копию свежей системы, настраивать, и одной командой заворачивать в загрузочный iso, initrd и т.д... С последней частью проблем нет. Думаю над решением первого пунктика.

 , orchestration

Spoofing
()

Используете ли вы initrd или initramfs?

Голосования — Голосования

Добрый день!

Интересно узнать о такой специфичной штуке, как Initial RAM-disk: используете ли вы её, и что в вашем случае initrd (initramfs) из себя представляет.

Решаете ли вы с помощью Initial RAM-Disk какие-то специфичные задачи, может у вас там целая миниатюрная ОС предустановлена?

Если не секрет, расскажите пожалуйста, какие функции в Initial RAM-disk вы используете. Не важно, если это ваше собственное решение или вы используете предустановленный дистрибутивный initrd (initramfs).

Используете шифрование? Используете ли вы загрузку компонентов ОС по сети? Вообще, какие функции используете в Initial RAM-disk и какие возможности вам хотелось бы получить?

Храните ли вы initrd (initramfs) отдельным файлом, или собираете вместе с ядром, одним файлом?

Когда ломается сервер или рабочая станция, вы загружались по сети (PXE) в linux+initramfs чтобы решить проблему? Расскажите истории успеха: как часто initrd / initramfs вас выручал, или вам наоборот было проще всё переустановить заново, не заморачиваясь починкой?

Что-нибудь необычное, экзотичное? Очень интересно узнать!

  1. Предустановленный в дистрибутиве 219 (61%)

    ********************************************************************************************************************************************************************************************************************************************************************************************************************************

  2. Не использую совсем 47 (13%)

    ********************************************************************

  3. Использую mkinitcpio 36 (10%)

    ****************************************************

  4. Использую dracut 25 (7%)

    ************************************

  5. Использую initramfs-tools 11 (3%)

    ****************

  6. Собственный для моих задач 10 (3%)

    **************

  7. Использую другое ПО 7 (2%)

    **********

  8. Initial RAM-disk это основная ОС 2 (1%)

    **

Всего голосов: 357

 ,

Spoofing
()

Собрать ядро быстрее, чем за 30 секунд?

Форум — Linux-install

Платформа HP Gen10, два процессора Intel Xeon 6248R, 96 потоков, make defconfig && make -j100 собирает ядро за 32 секунды. В tmpfs.

Картинка.

Дистрибутив Gentoo, мир пересобран с -march=native.

Есть ли возможность как-то увеличить скорость сборки? Во что она может упираться?

 

Spoofing
()

RSS подписка на новые темы