Новость из категории: Информация

Собираем ПК под Linux

Собираем ПК под Linux

Собирать ПК — это весело. В зависимости от вашей точки зрения, так, возможно, всегда было. Или не было. Сегодня общее правило таково: если вы уверены, что все купленные вами компоненты установлены в нужные разъемы, порты, слоты, защитные контейнеры или иные приемные части, то вы можете также быть уверены и в том, что вместе они заработают.

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

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


Подготовка к сборке ПК


Прежде чем начать: некоторые наблюдения о ПК, LEGO и электростатике.

Собираем ПК под Linux
Прежде чем нажимать «Добавить в корзину», проверьте, работают ли ваши компоненты в Linux

Сборка ПК сейчас больше всего похожа на процесс сборки LEGO. А всё более высокая цена и сложность современных наборов LEGO делает это сходство еще сильнее. Создание собственного устройства — интересный проект. Вы сможете настроить его согласно своим потребностям и, что еще важнее, произвести впечатление на друзей. Конечно, сама сборка — это только начало. Нам нужна операционная система, которая будет стоить всех ваших усилий и соответствовать вашим рабочим потребностям и вашим интересам, в том числе игровым. И эта система? Естественно, Linux!

Мы не будем говорить вам, какие компоненты выбирать, предпочесть AMD либо Intel, или даже AMD либо Nvidia. Всё это зависит от ваших предпочтений, целей и предубеждений. К счастью, тот же общий рецепт относится к сборке любого настольного компьютера, будь то бюджетная рабочая лошадка или 16-ядерная мощная машина с несколькими видеокартами (для майнинга альткойнов, игр и заодно для отопления комнаты).

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

Если у вас имеются сомнения, сайт выбора частей ПК (https://uk.pcpartpicker.com) скажет вам, что к чему подходит. А если вы переживаете по поводу совместимости Linux, просто введите номер модели компонента вместе с “Linux” в Google, и получите советы бывалых. Говоря в общем, вряд ли вам придется скачивать драйвер с сайта производителя (ужасная традиция Windows), поскольку большая часть компонентов оборудования поддерживается ядром. Однако всегда есть исключения.

Мы обсудим с вами выбор частей, их сборку (в удобном формате пошагового руководства внизу следующих двух разворотов) и затем установку Mint. Не думайте, что вам придется воссоздавать всё так, как мы это сделали здесь: считайте это скорее источником вдохновения, чем обязательной рекомендацией. Fedora 27 (на нашем диске) — тоже отличная ОС (как и многие дистрибутивы, которых на нашем диске нет). Мы выбрали Mint, потому что он проще для доступа. Мы расскажем о настройке LVM для более простого управления разделами. Затем мы настроим массив RAID, используя два больших жестких диска в качестве хранилища, чтобы душа была спокойна. А затем мы обратимся к более сложным функциям хранения, настроим bcache для использования SSD в качестве кэша для более медленного диска (или уже упомянутого массива RAID) и моментальные снимки файловой системы btrfs. И, наконец, мы пустимся в весьма рискованное предприятие и скажем несколько слов о настройке графических драйверов. Естественно, мы — ярые фанаты FOSS, однако чтобы серьезно играть в крутые игры на Nvidia или серьезно заниматься майнингом на AMD, вам придется перейти на темную (проприетарную) сторону. Это увлекательное путешествие, поэтому, без лишних слов, расчистите место для работы — и в путь!

Внимание! Антистатические меры предосторожности
Прежде чем начать, вы должны знать об опасностях статического электричества. Оно может накапливаться на вашем теле, в частности, если вы носите обувь с резиновой подошвой или ходите по нейлоновому или шерстяному покрытию, не дающему заряду стечь в землю. При прикосновении к проводящему объекту, например, свежеприобретенному ОЗУ, часть этого заряда разряжается, создавая весьма солидный шанс для вашей ОЗУ отправиться на кремниевые небеса.

Все статически чувствительные компоненты уязвимы, но можно солидно снизить риск их преждевременной электростатической гибели, заземлив себя (прикосновением к батарее отопления или иному проводящему объекту) перед началом работы и периодически в процессе сборки ПК.

Собираем ПК под Linux

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

Выбор компонентов


Что стоит принять во внимание при выборе частей для вашего Linux-ПК.

Собираем ПК под Linux

Корпус десктопа
Корпуса предлагаются самых разных форм и размеров. Формфак тор mini IT X весьма популярен и идеа лен д ля домашних ПК. Однако более компактные корпуса не вместят полноразмерные видеокарты ATX и оптический привод — даже, в некоторых случаях, 3,5-дюймовый. Кроме того, стоит принять во внимание циркуляцию воздуха. Выбор корпуса ITX может ограничить вас блоком питания SFX, а меньшая по размеру материнская плата означает недостаток функций и меньше слотов PCIe и коннекторов SATA, чем у других. Однако за хорошую цену вы сможете найти то, что вам нужно.

Традиционные корпуса ATX — самые простые в работе, и в них достаточно места для дисков и больших видеокарт (высокотехнологичные могут достигать 300 мм, так что обязательно сделайте замеры). Возможно, вы захотите выбрать корпус с боковым окошком и, вероятно, стильную и яркую ультрафиолетовую подсветку “cold fluro”. Некоторые корпус а ра зработ аны д ля ти хой работы и включают звуконепроницаемые и поглощающие вибрацию уплотнители для крепления жестких дисков.

Собираем ПК под Linux

Питание
Современные чипы и видеокарты потребляют немало энергии, и если ваш блок питания их не прокормит, могут произойти большие неприятности. При скромном раскладе вряд ли понадобится больше 300 Вт, но стоит вложиться в устройство помощнее, поскольку блок питания обычно наиболее эффективен примерно при 50% номинала. Институтский курс физики учит нас, что трансформаторы и вообще довольно эффективны, но более дорогие, 80+ бронзовые, золотые и платиновые блоки питания предлагают особую эффективность, в наилучшем случае обеспечивая КПД 94% . Это означает меньшее выделение тепла, меньшую потребность в вентиляторах и снижение шансов возгорания.

Модульные блоки питания включают отсоединяемые кабели, чтобы подключать только необходимое. Это способствует аккуратному размещению частей в системном блоке и лучшей циркуляции воздуха. Высококачественная видеокарта под нагрузкой будет потреблять 250 Вт, а высокотехнологичный CPU (например, Intel i9 79 00X ) может потребовать еще 150 Вт. Поэтому такая система потребует как минимум блока питания на 750 Вт. Устройства USB, охлаждение и внешние диски потребляют куда меньше энергии, поэтому не входят в нашу смету. Поскольку система с несколькими GPU становится вполне обычным делом (как для майнинга криптовалюты, так и для игр), легко понять предложения с большей емкостью.

Собираем ПК под Linux

Материнская плата и ОЗУ
Материнская плата — это то, к чему всё подключается, в ее основе находится главный чипсет, определяющий разъем используемого процессора (Intel или AMD) и другие функции. Обычно чипсеты бывают высоко-, средне- и малобюджетные. Например, чипсет AMD Budget A320 не под держивает разгон и имеет ограниченные шины SATA и PCI-e. Средние B350 и высокобюджетные X370 соответственно предлагают больше. Для Intel самые последние процессоры 8-го поколения Coffee Lake требуют материнки Z370, предыдущие процессоры Socket 1151 требуют чипсетов серии 270, 170, 150 или 110 на материнской плате.

ОЗУ нынче дешевы. Неважно, что вам удается сделать чистую загрузку в Sway, используя всего 20 МБ. Стоит вам открыть пару симпатичных сайтов в Chromium, как у вас уже отнимется около гигабайта. Добавьте к этому парочку ВМ (все любят тестировать дистрибутивы в ВМ) — и вы как раз упретесь в нашу минимально рекомендуемую цифру 8 ГБ. Если вы можете себе это позволить, прикупите 16 ГБ, а то и 32 ГБ, при необходимости. Если ваша ОС переполнит память или раздел подкачки, защитная подсистема OOM [Out of Memory] примется безжалостно убивать процессы, пока не прекратится паника. Понятно, что это способно вызвать нежелательные побочные эффекты, так что на ОЗУ не экономьте. Новые системы используют память DDR4; самая быстрая из имеющихся на данный момент работает на 3200 МГц, но за исключением каких-то серьезных приложений и синтетических сравнительных тестов, вы вряд ли заметите разницу по сравнению с более низкой скоростью. Материнские платы, поддерживающие более старый стандарт DDR3 (и более старые разъемы CPU, такие как антикварный AM3+ и не слишком старый, но уже уставший LGA1150) ликвидируются, но некоторые продавцы распродают их.

Собираем ПК под Linux

Процессор
Пока AMD не выпустила в прошлом коду свою новую архитектуру Zen, единственной причиной выбора именно ее продукции была экономия средств. Если вам была нужна производительность — будь то для игр, перемалывания цифр или работы с ВМ — Intel была единственным выбором. И хотя Intel, вероятно, по-прежнему остается лучшим для игр (i5 8400 предлагает прекрасные возможности за £200), новые чипы AMD, ThreadRipper (TR) отлично подходят для высокоинтенсивных работ (например, майнинга XMR). Чипы TR стоят от £500 за восьмиядерный, а их флагман среди потребительских чипов, 16-ядерный 1950X, обойдется вам очень близко к £1000.

Серия Ryzen стала поворотным моментом для AMD. Восьмиядерный Ryzen 7 1800X можно приобрести за £400. Серия Ryzen 5 предлагает отличное соотношение цены и качества, начиная от £ 140 и составляя конк уренцию самому последнему Core i3s от Intel. Высокотехнологичное предложение от Intel, серия Octo Core i7 Skylake X, начинается от £ 540, но на более дорогом конце этой шкалы вы найдете от 12- до 18-ядерные по цене £1000–2000. Флагманский потребительский чип AMD, 16-ядерный 1950X, обойдется вам почти в £1000. Помните, что все процессоры Intel предлагают встроенную графику, хоть и со слабой производительностью 3D, тогда как серия Ryzen не предлагает видеочипа в своей настольной линейке, так что понадобится видеокарта.

Собираем ПК под Linux

Хранилище
Для применения твердотельного диска (SSD) в качестве жесткого диска для вашей ОС противопоказаний практически нет. Ему не надо быть большим: минимальный 240-ГБ диск SATA обойдется вам примерно в £90 и обеспечит скорость передачи в районе 500 МБ/с. Для большей скорости вам придется забыть интерфейс SATA (и его жалкую пропускную способность 6 ГБ/с) и перейти прямо к шине PCIe с помощью коннектора m.2. Это может разогнать произвольное чтение до 2 ГБ/с, а запись составит около половины этого показателя. Большая емкость позволит добиться большей скорости, а с учетом снижения цен 500 ГБ очень скоро станет оптимальным вариантом. Предложение от Samsung, 960 PRO, разорит вас этак на £270. Впрочем, вращающиеся диски по-прежнему работают, и никогда еще не были столь доступны. Для этого руководства мы рекомендуем двухдисковую настройку RAID1 (зеркальную), которая сохранит ваши данные (а то и вас) в случае, если диск прекратит свое существование. Вопреки тому, что вы можете предполагать, приобретение двух одинаковых дисков в данном случае не является лучшей стратегией: имеется вероятность того, что они оба будут происходить из одной и той же бракованной партии и у них будет одинаковый дефект. Более емкие, хоть и более медленные диски, например, серия Western Digital Red (предназначенная для сетевых устройств) набирают всё большую популярность, и отлично подходят для хранения больших файлов, которым не нужна особая скорость в обращении, например, медиа-файлов. Вы можете найти монстра на 4 ТБ и 5400 об./мин. за £110, или, если вы предпочитаете скорость емкости, выбирайте устройство на 7200 об./мин. и 3 ТБ, которое вам обойдется в £80. Мы покажем вам, как использовать bcache для ускорения доступа к часто используемым данным.

Собираем ПК под Linux

Видеокарты
Если в ваши планы не входят игры, редактирование видео или обработка больших числовых данных, то вы и вовсе можете обойдетесь без видеокарты — к примеру, используя Ryzen APU со встроенной видеокартой. Базовые видеокарты дешевы и намного более производительны, чем интегрированная графика в Intel CPU, поэтому позднее вы всегда сможете купить ее. Если вы активно поддерживаете FOSS, то, вероятно, решите выбрать AMD: их драйвер AMDGPU предлагает для определенных игр возможности на одном уровне с Windows. Однако пока в ваш дистрибутив не попадет ядро 4.15, вам понадобится подлатанное ядро (или проприетарный драйвер AMDGPU PRO), чтобы на картах AMD использовать HDMI-аудио или DisplayPort. Высококачественные карты AMD (RX400, 500 и Vega) в дефиците из-за сегодняшнего бума на майнинг альткойнов. Более новые карты Nvidia требуют, чтобы соответствующая прошивка работала на полную мощность, так что проприетарный драйвер — ваша единственная опция, если вы хотите что-то здесь заработать. С другой стороны, высокотехнологичные игры в Linux с оборудованием Nvidia имеют тенденцию лучше работать, но это может измениться.

Да начнется сборка!
1. Блок питания
С него хорошо бы начать, однако некоторые корпуса меньшего размера могут в первую очередь требовать установки материнской платы (и CPU). Некоторые корпуса позволяют установить блок питания «вверх ногами», что может способствовать улучшению циркуляции воздуха. Блок питания крепится на четыре массивных винта.

2. CPU
Внимательно прочитайте инструкции, поднимите рычажок, впихните CPU, опустите рычажок. После этого прочитайте инструкции к радиатору и присоедините зажимы или фиксаторы. Удалите пленку с термопластины или нанесите термопасту — и установите радиатор. Подключите провода вентилятора к головке материнской платы.

3. Материнская плата
Установите кронштейн платы в корпус. Корпус может уже иметь опорные изоляторы, или вам придется их прикрутить. Поместите плату поверх них — они должны соответствовать отверстиям в материнке. Не применяйте силу: возможно, некоторые зажимы на кронштейнах попадают на порты ввода/вывода и могут их повредить.

4. Коннекторы
24-пиновый ATX коннектор блока питания можно установить только одним способом, так что тут трудно ошибиться. То же относится к контактам аудио и USB. Сложность заключается в присоединении переключателей и LED корпуса, которые подключаются прямо к контактирующему устройству. Для LED важна полярность, поэтому ищите крошечные значки +.

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

6. Видеокарта
Найдите слот PCIe x16 и уберите соответствующие заглушки (многие карты занимают два слота) с задней части корпуса. Большие карты будет трудно установить на место, и они могут мешать последующей установке дисков. Высококачественные и среднего качества видеокарты требуют специального (шестиили восьми-штыревого) питания 12 В.

7. Диски SATA
В вашем корпусе могут оказаться не требующие инструментов салазки для размещения дисков, но закрепить диски болтами будет надежнее. 2,5-дюймовые диски крепятся снизу, а у 3,5-дюймовых имеются боковые крепления. Используйте угловые коннекторы для крепления SATA и прямые — для подключения к материнской плате.

8. Укладка проводов
Если в вашем корпусе нет вентилятора, установите хотя бы один. Некоторые корпуса позволяют разместить провода за платой, чтобы всё было аккуратно. Отдельные провода можно соединить и зафиксировать стяжками, в идеале — в углу. Суть в том, чтобы обеспечить циркуляцию воздуха между компонентами. Вот мы и закончили!

Установка GNU/Linux


Linux-ПК без Linux не бывает, так что давайте займемся этим и подробно обсудим файловые системы!

Процесс установки Linux никогда не был проще, но любой имеющий в этом деле опыт скажет вам, что впоследствии можно пожалеть о некоторых решениях, принятых во время установки. Часто люди жалеют, что не создали отдельный раздел для /home — папки вашего пользователя; это упрощает восстановление, если умрет ваш раздел / (корневой в системе). Но то же самое обеспечит и правильная политика резервного копирования. Большинство дистрибутивов дает вам такую возможность прямо в программе установки.

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

У UEFI (Unified Extensible Firmware Interface) есть критики (некоторые путают его с Secure Boot, но это лишь его опциональный компонент). Однако UEFI упрощает процесс установки нескольких дистрибутивов, потому что каждый работает с отдельным Grub вместо того, чтобы валить их в одну кучу. Мы не хотим ограничиваться всего двумя дистрибутивами, и нам не нужно множество потенциально лишних разделов, поэтому мы поступим умно и используем менеджер логических томов (LVM), чтобы оправдать свою нерешительность.

LVM абстрагирует не только разделы, но и настоящие устройства, поэтому работа ведется с группами томов [volume groups] (VG — свободная подборка физических устройств) и логическими томами [logical volumes] (LVs), которые ведут себя, как разделы (в том смысле, что на них можно установить файловую систему). Преимущество этих виртуальных структур в том, что они намного более гибкие: они не только облегчают разбиение на разделы, но устройства можно динамически добавлять и удалять из VGs, чтобы LVs можно было распространить на новые устройства, ограничивать до подмножества или даже полностью изменять местонахождение.

Собираем ПК под Linux
Для разбиения вашего диска на разделы перед установкой можно использовать и GParted. Это рекомендованная опция для более сложных структур

Более того, всё это происходит прозрачно. Нет необходимости что-то размонтировать, перезапускать сервисы или даже ставить на паузу видео с котятками. LVM также позволяет сделать моментальные снимки томов, пригодные как резервные копии или для тестирования обновлений. Это также можно сочетать с dm-crypt и mdadm, чтобы создавать шифрованные и объединенные в RAID (соответственно) тома.

Собираем ПК под Linux
Mint 19.2 вышел в конце лета прошлого года и предлагает всё необходимое, чтобы вы насладились своей новой сборкой

Ну вот, началось...
Но давайте не будем забегать вперед, ведь мы еще не установили Linux. Сначала убедитесь, что ваш компьютер загружается в режим UEFI, поэтому отключите всё, что имеет отношение к режиму Classic BIOS или CSM; вам также надо будет отключить Secure Boot, поскольку он поддерживается не всеми дистрибутивами (или DVD Linux Format). Мы не собираемся навязывать вам, какой дистрибутив использовать, но Linux Mint (который подойдет всем) и Fedora (который подойдет людям с технической подготовкой) оба имеются на нашем диске.

Для иллюстрации мы покажем вам, как настроить LVM, что сгодится в любом дистрибутиве. UEFI ну жен ESP (EFI System Partition), который мы и создадим. Мы также отделим логические разделы для /home и /, и, по причинам, хранимым в секрете до следующего раздела, еще один раздел вне юрисдикции LVM. Позднее мы покажем вам, как настроить массив RAID1 на более емком магнитном хранилище. Возможно, вам захочется переместить сюда раздел /home, если вы планируете хранить там большие и ценные файлы. Всё это прекрасно, но давайте вернемся к LVM. Процесс настройки должен легко воссоздаваться в программе установки Fedora или в любой другой.

Собираем ПК под Linux
В итоге наш LVM выглядит так: три больших LV и один маленький. Вы можете избрать что-то другое

Программа установки Mint Installer имеет опцию настройки LVM, но она сделает не совсем то, что нам нужно (программа установки Fedora в этом смысле лучше); мы сможем настроить всё позднее, по факту. Итак, загрузитесь в среду Mint и запустите установщик. Если вы не устанавливаете свою ОС наряду с другой (тогда ни в коем случае этого не делайте), выберите опцию Erase disk and install Mint [Очистить диск и установить Mint], и затем отметьте окно Use LVM [Использовать LVM]. Помимо установки Mint, оно настроит группу томов с именем mint-vg с двумя логическими томами: один для ОС и один для подкачки (лучше, чтоб он был). У вас так же будет отдельный раздел /boot за пределами группы тома. Не перезагружайтесь после установки. Вместо этого откройте терминал и введите:
$ sudo apt install system-config-lvm 
$ system-config-lvm

Возникнет симпатичный GUI, где можно добавить логические тома. Выбери те корневой [root] том и на ж ми те Edit Proper ties [Редактировать свойства]. Измените размер на 40 ГБ (или иной, по своему усмотрению) и на жмите OK. Вернитесь в Logical View и выберите Create New Logical Volume [Создать новый логический том]. Назовите его home и выберите ему соответствующий размер; на нашем 240-ГБ диске мы задали 120 ГБ, оставив 80 ГБ. Используйте файловую систему по умолчанию ext4. На свободном месте создайте еще один LV, назовите его bcache и его тоже не форматируйте. Выйдите из инструмента LVM и вернитесь в терминал. Запустив ls /dev/mapper, вы должны увидеть свои вновь созданные логические тома. Мы не сказали нашей еще тепленькой установке о /home LV, так давайте это сделаем. Сначала смонтируйте root для LV (где мы установили Mint):
$ sudo mount/dev/mapper/mint--vg-root/mnt 

Затем найдите UUID раздела home, запустив blkid. Мы вставим это в файл fstab нашей установки, чтобы при перезагрузке Mint знал, что искать домашние директории надо там. Итак, скопируйте часть UUID=“abcd...” и откройте этот файл с помощью nano mnt/etc/ fstab. Добавьте строк у UUID=“abcd...” /home ext4 defaults 0 0 и сохраните и выйдите с помощью Ctrl+X, Y. Далее нам надо смонтировать этот том и переместиться по папке home, которую создал для нас установщик:
$ sudo mkdir/lvmhome 
$ sudo mount/dev/mapper/mint--vg-home/lvmhome 
$ sudo mv/mnt /home/*/lvmhome

Теперь вы должны суметь перезагрузиться в свою свежайшую установку Mint. Если у вас не получилось, проверьте настройки UEFI. Запустив команду mount, вы должны увидеть, что /home на самом деле живет в LV. Отсюда вы можете установить любые приложения (Mint предлагает хороший выбор), настроить свой фон или продолжить работу по нашему руководству. Было бы удобно и полезно установить SSH-сервер, что легко делается с помощью
$ sudo apt install openssh-server

Настройка большого хранилища


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

Посетители сайта NeroHelp.info с опытом могут помнить разные платформенные и BIOS-ограничения емкости жестких дисков. MS DOS не могла работать с разделами больше 2 ГБ, старые BIOS не понимали дисков больше 8 ГБ, файловая система FAT32 не умеет работать с файлами больше 4 ГБ. Самое последнее из таких ограничений, которое мы смогли преодолеть — это ограничение до 2,2 ТБ для дисков, разбитых на разделы с помощью традиционной (иногда ее называют MBR или MS-DOS, и оба названия вводят в заблуждение) таблицы разделов. Если у вас есть диск (или диски) большей емкости, можете использовать более новую GUID Partition Table (GPT) для доступа к нему во всей его полноте.

Однако там, куда мы направляемся, разделы не требуются. Файловая система нового поколения btrfs поддерживает установку прямо на устройство. Она также поддерживает моментальные снимки, что тоже весьма удобно, и имеет собственную встроенную поддержку RAID для разнесения и зеркального отражения данных на нескольких дисках. Это позволяет избавиться от традиционных методов работы, а именно, используя аппаратный уровень RAID
или Mdadm. Вы, конечно, не обязаны использовать эти функции, но мы-то это сделаем.

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

Ничто не должно отвлекать вас от выполнения резервного копирования по строгому расписанию. Вдруг откажут другие устройства? Вдруг кто-то перепутает терминалы и случайно удалит абсолютно всё? Вдруг произойдет какая-то крайне редкая ошибка ядра? RAID никак не защитит вас от всего этого. Так что делайте резервные копии. Пожалуйста. Обычно для домашнего компьютера бывает довольно просто восстановить систему. Если произойдет худшее, тогда восстановите что можете, заново сделайте установку и добавьте пакеты, которые вносили. Однако все ваши личные настройки и документы могут оказаться потерянными навсегда — если только вы не делали их резервные копии.

Собираем ПК под Linux
Timeshift, который включен в Linux Mint, обеспечивает функцию инкрементного восстановления системы, так что вам нужно всего лишь побеспокоиться о резервном копировании своих персональных файлов

Решение с мятным вкусом
Mint (в переводе с англ. - мята) включает простой инструмент Backup Tool, который позволяет делать резервные копии данных и установленных программных пакетов. Его периодический запуск (храните данные на USB-брелке или в Облаке, если вас это устраивает) может спасти вас от серьезных неприятностей в будущем. Есть более продвинутые многоуровневые стратегии резервного копирования, и для серьезных данных вам действительно стоит о них подумать. Btrfs предлагает еще одну симпатичную функцию под названием CoW snapshots, о которой вы можете прочитать во врезке внизу.

Настройка нашего массива RAID1 проста; опций множество, но мы не будем их использовать, поскольку предложения по умолчанию весьма разумны. Однако нам важно знать имена устройств, поэтому скомандуйте lsblk для поиска ваших дисков. Мы будем предполагать, что это /dev/sdb и /dev/sdc, но не надо слепо нас копировать: если вы здесь ошибетесь, могут быть проблемы. Нам просто надо велеть mkfs.btrfs зеркально отобразить (а не разделять) данные на обоих дисках:
$ sudo mkfs.btrfs -d raid1 /dev/sdb /dev/sdc

Программа должна вывести отчет об успешном завершении, примерно такой:
UUID: ce6bcaf9-cd41-4bb1-b531-87901485714c 
Node size: 16384 Sector size: 4096 
Filesystem size: 3.91TiB 
Block group profiles: 
Data: RAID1 1.01GiB 
Metadata: RAID1 1.01GiB 
System: RAID1 12.00MiB 
SSD detected: no 
Incompat features: extref, skinny-metadata 
Number of devices: 2 
Devices: 
ID SIZE PATH
1 1.95TiB /dev/sdb 
2 1.95TiB /dev/sdc 

Теперь мы можем сделать точку монтирования для нашего нового хранилища, с помощью
$ sudo mkdir /mn /lxfraid

Затем проверьте, что всё работает —
$ sudo mount /dev/sdb/mnt/lxfraid

И взгляните на вывод от df, чтобы увидеть, какое огромное место в вашем распоряжении. У btrfs хватает ума догадаться, что указанный нами диск является частью массива, поэтому не получится, что мы монтируем только половину, как можно вообразить, глядя на команду. Нам бы также хотелось, чтобы наше новое устройство монтировалось при каждом запуске, поэтому, как мы делали ранее с нашим LVM, используйте команду blkid для получения UUID одного из дисков. Затем добавьте к /etc/fstab строку вида
UUID=“abcd...” /mnt/lxfraid btr fs defaults 0 0

Плохие COW
Для сохранения информации на диске btrfs использует технологию под названием Copy on Write. По сути, она не переписывает старые данные при изменении, а перенаправляет их и записывает их где-то еще. Это может сберечь ресурсы в среде, где часто делается копирование, и обеспечивает некоторую стабильность при отказе машины хоста, поскольку здесь не будет частичной записи недополученных данных, что могло бы привести к их повреждению.

Это перенаправление или дублирование слегка сказывается на производительности, и в определенных ситуациях — а именно, когда много данных изменяется в большом файле — это становится заметным, и в результате со временем файлы становятся излишне фрагментированными. В частности, базы данных, виртуальные машины и, возможно, ваша библиотека Steam предпочтут не быть обработанными с помощью CoW. К счастью, мы можем использовать атрибуты файла, чтобы отключить CoW для определенных файлов или директорий. Например:
$ chattr +C /path/to/VMs

Выполнение данной команды обеспечит отключение CoW в новых файлах в определенной директории. Обратите внимание, что это не затронет уже существующие файлы. Применение этой команды к непустому файлу тоже вряд ли приведет к желаемому эффекту: некоторые блоки всё равно будут обрабатываться, как CoW, и понадобится несколько транзакций до того, как они стабилизируются. Чтобы принудительно отключить CoW для существующих файлов или директорий, нам надо (отчасти неэлегантно) переименовать и скопировать их. Например, если ваша директория /path/to/VMs уже заполнена виртуальными дисками, и вы хотите, чтобы они работали быстрее:
$ mv/path/to/VMs/path/to/VMs.old 
$ mkdir/path/to/VMs 
$ chattr +C /path/to/VMs 
$ cp -a/path/to/VMs.old/*/path/to/VMs 
$ rm -rf/path/to/VMs.old 

Мы использовали для нашего корневого LV проверенную файловую систему ext4, но это можно изменить, перезагрузившись с помощью любого диска live (вы не можете сделать этого, пока она смонтирована как файловая система root, но файловые системы, не являющиеся root, конвертируются просто на лету). Лучше сделать это до того, как в ней будут сохранены какието важные данные. Просто перезагрузитесь и запустите
$ sudo btr fs-convert/dev/mapper/mint--vg-root

Затем надо будет смонтировать файловую систему и обновить /etc/fstab (по крайней мере, изменить ext4 на btrfs и изменить последнее поле с 1 на 0; контроль совместимости btrfs проводится автоматически). Наша установка Mint по умолчанию не делает ссылки на наш root VG по UUID, и это хорошо, потому что он изменится (найдите новый с помощью blkid).

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

Собираем ПК под Linux
Анализатор потребления диска в Gnome — очень удобный инструмент для присмотра за поглощающими пространство директориями.

Моментальные снимки с помощью btrfs
Мы уже видели, что с btrfs можно обойтись без привычного разбиения на разделы на уровне устройств, но она может делать также собственное разбиение на уровне данных в форме подтомов. Они работают, как директории, но поскольку они также могут налагать квоты и монтироваться за пределами основного тома, их можно сравнить и с разделами диска. Главная файловая система тоже является подтомом, именуемым подтомом высшего уровня.

Среди прочих интересных функций btrfs — Snapshots. Как понятно по названию, это копии файловой системы в заданное время. Что не очень понятно по названию, так это то, что они являются особым видом подтомов, копией определенной части (возможно, всей) родительской файловой системы. Благодаря чудесам Copy on Write (CoW), первый сделанный вами моментальный снимок практически не занимает места. Однако по мере изменения оригинала данных эти изменения добавляются к моментальному снимку, и он растет.

Моментальные снимки можно автоматизировать, и в крайнем случае можно увидеть, что они делаются ежедневно. Это означает, что изменения на уровне системы можно вернуть, скажем, к состоянию на прошлый вторник. Возможно, это перебор, но сделать моментальный снимок перед особо
важными изменениями никогда не помешает. Моментальный снимок всей файловой системы (но можно ограничиться определенными подтомами) обеспечит команда:
$ sudo btrfs subvolume snapshot/ 
/snap.$(date+%Y-%m-%d) 

Это можно просматривать, как директорию, или, если что-то не заладится, заново установить вот так:
$ sudo btrfs subvolume snapshot snap.20170214/

Больше информации по btrfs вы найдете в официальной wiki на https://btrfs.wiki.kernel.org, но предупреждаем: ее там МНОГО.

Собираем ПК под Linux
Если всё пойдет наперекосяк, у Mint есть режим отката, с помощью которого можно восстановить неисправные графические драйверы

Оптимизируйте свою установку


Ускорьте доступ к своему массиву RAID с помощью bcache и разгоните свои игры и майнинг с помощью лучших драйверов графики.

Несоответствие в скорости между SSD и жестким диском может досадить. Когда-нибудь твердотельные хранилища предложат те же емкости, которые ныне существуют у жестких дисков, по ценам ниже астрономических, но пока нам приходится искать компромисс. У геймеров давно имеется традиция хранить свою небольшую библиотеку Steam на SSD, чтобы сократить время загрузки любимых игр, однако с учетом того, что основные релизы постоянно весят под 60 ГБ, это подразумевает постоянную перетасовку. И по нашему опыту, Steam перемещает игры по библиотекам довольно беспорядочно, что часто завершается скачиванием всего заново безо всякой на то необходимости. И это нас печалит.

Но не всё потеряно. Если у вас на SSD есть свободное место, его можно использовать для кэширования данных с других, более медленных устройств. Это не разгонит волшебным образом HD-скорости для всех видов устройств, однако при некоторой настройке определенные типы ввода/вывода значительно улучшатся.

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

Собираем ПК под Linux
Настройка устройств копирования для bcache довольно проста и, надо надеяться, поможет увеличить производительность

Итак, сначала мы уничтожим все следы того, что напоминает файловую систему на дисках RAID (bcache особо щепетилен насчет этого). Пожалуйста, убедитесь, что устройства указаны правильно, иначе вам потом придется делать незапланированную переустановку, терять ценные данные или столкнуться еще с какими-либо бедствиями:
$ sudo wipefs -a /dev/sdb 
$ sudo wipefs -a /dev/sdc 

Первый шаг — установить нужные инструменты:
$ sudo apt-install bcache-tools

Далее следует создать устройство резервного копирования. Номенклатура здесь, вероятно, немного отсталая, потому что ссылается на устройство, которое мы хотим кэшировать (наш массив RAID). Устройство (обычно более быстрое), на котором размещается кэш, известно как устройство кэширования. Подготовьте первый диск с помощью:
$ sudo make-bcache -B /dev/sdb

и повторите для второго. Это создаст узлы для устройств копирования (/dev/bcache*), которые мы будем использовать вместо традиционных /dev/sdb и т. д.

Теперь нам надо создать наше устройство кэширования. Помните тот подозрительный логический том, который мы создали в начале этого руководства? Вот и пришло его время сверкнуть. Это также работает для обычных разделов или целых устройств:
$ sudo make-bcache --block 4k -C /dev/mapper/mint--vg-bcache

Аргумент --block должен соответствовать размеру блока устройства копирования (сегодня это почти всегда 4к). Можно указать также аргумент --bucket, который должен соответствовать размеру стираемого блока устройства кэширования. Обнаружить его бывает сложно, поэтому не стоит о нем особо переживать, вполне должен подойти параметр по умолчанию.

Мы можем воссоздать наш RAID с помощью новых устройств копирования:
$ sudo mkfs.btrfs -d raid1 /dev/bcache0 /dev/bcache1 

Найдите их UUID с помощью blkid и измените соответствующую строку в /etc/fstab. Перед тем, как bcache примется за свои фокусы, надо соединить наши устройства копирования с нашим кэшем, и для этого нужен UUID набора кэша последнего, который можно найти с помощью
$ sudo bcache-super-show /dev/mapper/mint--vg-bcache | grep cset.uuid

Вставьте это магическое число вместо cset.uuid для присоединения первого диска к кэшу, и повторите для второго (bcache1).

Вторая команда должна вернуть ясное подтверждение, что кэш активирован и работоспособен:
$ echo cset.uuid | sudo tee /sys/block/bcache0/bcache/attach 
$ sudo cat /sys/block/bcache0/bcache/state

Всё это сохранится после всех перезагрузок, так что вам не придется беспокоиться об этом снова. Bcache предлагает три режима кэширования: writethrough (по умолчанию), writeback или writearound. Writethrough и writearound кэшируют только чтение, последний полностью исключает из кэша запись, а writeback кэширует и чтение, и запись. Это можно изменить, например, с помощью
$ echo writearound | sudo tee /sys/block /bcache0/bcache/cache_mode

Графические драйверы
AMD заслуживает похвалы за изменение в политике драйверов. Ушел в прошлое старый, проприетарный драйвер fglrx — старые карты поддерживаются драйвером FOSS radeon, а новые — amdgpu, тогда как карты среднего возраста (Southern и Sea Islands) фактически поддерживаются и тем, и другим. AMD внес туда огромное количество кода (они только что открыли код своего драйвера Vulkan, и еще больший объем грядет в ядре 4.15), и в итоге вы, скорее всего, получите отличную игровую производительность прямо сразу. Проприетарный компонент доступен, о чем вы прочитаете ниже, но он предназначен скорее для работы, чем для игр.

Собираем ПК под Linux
Нам не особо нравится идея скачивания драйверов прямо с сайтов производителей, но иногда от этого никуда не деться

Ситуация с Nvidia менее радужная. Свободный драйвер nouveau никогда еще не был в лучшей форме, но Nvidia очень мало для него сделала. Он оказался в своем нынешнем положении исключительно посредством чистого обратного инжиниринга. Разгон на новых картах требует подписанных прошивок, которые не перераспространяются, и даже на более старых картах (Kepler) пересчет частоты надо делать вручную, чтобы получить достойную производительность. Однако проприетарный драйвер Nvidia работает хорошо, и в сочетании с быстрой картой будет почти наверняка наилучшим выбором для AAA-игр в Linux.

Самую новую версию проприетарного драйвера Nvidia можно скачать с их сайта, но более рациональной считается его установка через ваш менеджер пакетов. Это не будет самая свежая версия, но зато в нем не будет самых новых ошибок. Есть множество грустных и поучительных историй о людях, которые скачали драйвер с сайта и потом загружались в безнадежно пустой экран. Mint превращает процесс установки драйверов в плевое дело: просто откройте меню и выберите Administration > Driver Manager. Ваша карта должна определиться, и вы должны быть в состоянии выбрать драйвер Nvidia.

Если вы хотите более новую версию, но не хотите засорять свою файловую систему чем-то, установленным вне области действия Apt, подумайте о PPA graphics-drivers. Перейдите в Administration > Software Sources > PPAs [Администрирование > Программные Источники > PPA] и выберите Add a new PPA [Добавить новый PPA]. Введите в окне ppa:graphics-drivers/ppa и обновите всё. Вернитесь в менеджер драйверов, и вы должны увидеть более новые версии драйвера Nvidia. Их следует считать экспериментальными, но вероятность, что они повредят вашу систему, меньше, чем если следовать инструкциям с сайта Nvidia.

Даже если вы хотите остаться при драйверах с открытым кодом (при наличии у вас AMD, Nvidia или интегрированного Intel GPU), возможно, есть смысл обновить другие части стека отображения. Это особенно верно в отношении дистрибутивов на базе Ubuntu 16.04. Ряд PPA поможет вам сделать это: padoka и oibaf, которые обеспечивают полный стек X и Mesa (Padoka предлагает стабильную и нестабильную версии). Советуем вам побольше почитать о них перед использованием. Есть также полуофициальный PPA Ubuntu-X, который предлагает стабильные предлежащие релизы компонентов X. Вероятно, это — наилучший стартовый пункт; добавьте его, как описано выше, из Software Sources [Программных источников], используя адрес ppa:ubuntu-x-swat/updates. |

Майнинг с AMDGPU PRO
Одна из причин использования Mint в качестве нашей ОС в том, что он основан на Ubuntu 16.04, а это один из трех дистрибутивов, «официально» поддерживаемых проприетарным драйвером AMDGPU-PRO. Обычно воспевать этот драйвер не за что, и в большинстве игр его превосходит Mesa. Но проприетарный стек включает технически превосходный OpenCL стек, который, помимо всего прочего, ускоряет майнинг криптовалюты в GPU.

Современные карты AMD (RX400, 500 и серии Vega) в общем считаются более подходящими для майнинга, чем их сородичи Nvidia (хотя 1050Ti заслуживает уважения за соотношение цена/ качество). Даже старые карты (устаревающая 7950 и те, что основаны на Sea Islands 2013 г. и позднее) могут достигать впечатляющей скорости хэша, хотя их не назовешь самыми эффективными. Проприетарные биты (500 МБ) работают в тандеме с модулем ядра FOSS amdgpu, и их можно скачать с https://www.amd.com/en/support/kb/release-notes/rn-prorad-lin-18-20. Извлеките файл с помощью tar -xvJf amdgpu-proxyz.tar.xz. Программа установки не будет работать с Mint, пока мы не выкрутим ей руки, поэтому сделайте так:
$ cd amd amdgpu-pro-xyz/ 
$ sed -i ‘s/ubuntu)/ubuntu \| linuxmint)/’amdgpu-pro-install
$ ./amdgpu-pro-install

Если вам требуются драйверы вычислений, добавьте к последней команде --headless. Вы даже можете выбрать между устаревшим стеком и ROCM OpenCL (или выбрать оба) с помощью --opencl=legacy,rocm. Если дела будут плохи, возможно, придется удалить драйверы с помощью amdgpu-pro-uninstall.

Мы протестировали майнинг эфириума (Ethereum, ETH) с помощью программ майнинга Claymore (https://github.com/nanopool/ClaymoreDual-Miner) и Monero (XMR) с xmrig (https://github.com/xmrig/xmrig-amd). И в результате поняли, что с типовым ПК, вооруженным одной видеокартой, делать в данной сфере сегодня попросту нечего.

Рейтинг статьи

Оценка
0/5
голосов: 0
Ваша оценка статье по пятибальной шкале:
 
 
   

Поделиться

Похожие новости

Комментарии

^ Наверх