Welcome to emergency mode в Ubuntu 16.04

У меня есть сервер, который работает под управлением Ubuntu GNU/Linux 16.04 LTS. После того как внезапно вырубило электричество сервер перестал загружаться. Я начал разбираться в вопросе.

Сообщение, до которого доходил сервер:

Welcome to emergency mode! After logging in, type «journalctl -xb» to view system logs, «systemctl reboot» to reboot, «systemctl default» to try again to boot into default mode.
Give root password for maintenance
(or type Control-D to continue):

Читать далее «Welcome to emergency mode в Ubuntu 16.04»

Установка MediaWiki и настройка нескольких wiki на одном сервере с Ubuntu 11.10

После долгих экспериментов с различными wiki-движками написанными на PHP и использующий в качестве хранилища MySQL я всё-таки остановился на том от чего хотел уйти — MediaWiki.

Внимание! В репозитории Ubuntu 11.10 лежит пакет mediawiki-1.15.5-3build1, на Launchpad дела с версией обстоят не многим лучше. В то время как на данный момент рабочая версия — 1.18! Я устанавливал MediaWiki из репозитория, так как она будет использоваться для внутрекорпоративых целей на офисном сервере. Для серверов, доступных из Сети, я рекомендовал бы скачать последнюю версию MediaWiki и использовать её.

Для работы MediaWiki нужен сервер Apache, PHP5 и MySQL. Если коротко, то для их установки нужно выполнить:
sudo apt-get install apache2 mysql-server php5 php5-mysql
За подробностями можно заглянуть в Google.

Установка MediaWiki из репозитория элементарна:
sudo apt-get install mediawiki
Настройка чуть сложнее

Создание локального репозитория или кэш-сервера deb-пакетов

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

Как следствие, обновление рабочих станций это головная боль, так как канал практически полностью ложится. Но так как все компьютеры в офисе работают под управлением Ubuntu/kUbuntu, можно немного облегчить жизнь и сделать кэш-сервер с пакетами обновления.

Поиск в Сети подсказывает о двух путях:
1. Полная копия репозитория у себя, что, как мне кажется, явно не подходит для данной задачи. Но кому интересно, это делает apt-mirror.
2. Кэширование пакетов, которые были однажды загружены кем-либо. Вот это в данной ситуации именно то, что нужно.

Для реализации второго сценария есть две программы apt-proxy и его форк apt-cacher. apt-proxy в связи с трагичными обстоятельствами, постигшими его автора, уже давно не обновляется, поэтому выбор был сделан в пользу apt-cacher.
Читать далее «Создание локального репозитория или кэш-сервера deb-пакетов»

Запись CD/DVD дисков в Ubuntu Server

Для записи можно использовать утилиту wodim (Примечание: строки, начинающиеся со знаков «$ » (доллар и пробел), — строки с командами, выполнять нужно то, что стоит после этих символов):

$ sudo aptitude install wodim

Теперь необходимо узнать какой файл отвечает за привод:

$ wodim -devices
wodim: Overview of accessible drives (1 found) :
-------------------------------------------------------------------------
0  dev='/dev/scd0'	rwrw-- : 'SONY' 'DVD RW DW-G120A'
-------------------------------------------------------------------------

В моём случае это /dev/scd0. Создаём iso-образ, который запишем на диск:

$ mkisofs -o name_of_iso_file.iso ./dir/

Где:
name_of_iso_file.iso — имя iso файла, который нужно создать
./dir/ — путь к директории, из которой нужно создать iso-файл.

Файл создан, самое время его записать на вставленный в привод диск:

$ sudo wodim -v -dao speed=16 dev=/dev/scd0 name_of_iso_file.iso

Где:
-v — включает режим  отображения процесса;
-dao — указывает, что нужно создать диск с единой сессией (без возможности дозаписи чего-либо на диск);
speed=16 — скорость с которой будет производиться запись (берётся из спецификации устройства);
dev=/dev/scd0 — путь к устройству
name_of_iso_file.iso — iso-образ, который нужно записать.

Теперь проверим, что получилось. Создадим папку и примонтируем в неё диск:

$ mkdir qwe
$ sudo mount -t iso9660 -o ro /dev/scd0 ./qwe/

Если всё в порядке, то можно отмонтировать диск и удалить временную папку:

$ sudo umount /dev/scd0
$ rm ./qwe/

Напоследок, если нужно очистить перезаписываемый диск, то это можно сделать так:

$ sudo umount /dev/scd0
$ sudo wodim dev=/dev/scd0 blank=fast

Слово «виртуализация» уже не такое страшное или сервер виртуализации на новом уровне…

Продолжая свои изыскания в сфере виртуализации, однажды натолкнулся в интернете на информацию о Proxmox VE. Если вкратце — это решение для виртуализации, представляющее удобные инструменты для управления виртуальными машинами и сделанное на основе Debian.
Читать далее «Слово «виртуализация» уже не такое страшное или сервер виртуализации на новом уровне…»

vsftpd, как я его использую. Разграничение доступа на FTP-ресурсе – все просто же!

Если кто не в курсе, есть такой сервер ftp, под названием vsftpd. Попробовав его раз, я остался на нем на все время. Если внимательно посмотреть по ссылке, то можно увидеть, что почти все сервера известных дистрибутивов GNU/Linux и других проектов OpenSource работают на нем.
Ничего более наглядного и простого я пока не встречал. Вариант в виде ProFTPD меня не устроил несколько громоздкой настройкой… Впрочем, его тоже можно настроить достаточно удобно, через WebMin, но речь я поведу не об нем…
По умолчанию vsftpd либо работает только на чтение, либо дает доступ на редактирование всем (ну, разве что разграничивает доступ на уровне авторизованный /анонимный пользователь). Сначала меня это устраивало, но в один момент понадобилось, чтобы парочка пользователей все таки умела писать, а другие все только читали.
Я использую авторизацию пользователей, заведенных в системе (мне так удобнее, чем делать виртуальных). И через некоторое время изучения интернета меня осенило… Теперь у меня все имеют доступ на редактирование и запись в FTP, но разграничение происходит уже на уровне ACL файлов — там я просто запрещаю доступ на редактирование в папке или файла — и тогда пользователь не сможет ни удалить, ни создать, зато сможет спокойно прочитать.
Есть также мысля использовать для этих целей особую группу и дать доступ на редактирование только ей, соответственно угодных мне пользователей включать в нее, а при необходимости просто исключить.
Не спорю, что мой способ не так элегантен, зато он работает и меня устраивает. К тому же настраивается vsftpd гораздо проще, чем ProFTPD, если не устраивают настройки по умолчанию.

Linux & Lotus. Единство великих. Продолжение.

Вдохновившись статьей Скрипт автостарта в Ubuntu, я решил немного развить тему Linux & Lotus. Единство великих. и настроить автозагрузку сервера Domino при загрузке системы.
Ничего особо нового не придумаю, потому просто опишу кратко, что нужно сделать, чтобы сервер Lotus Domino запускался автоматически при загрузке системы в screen-сессии. Итак, начнем:
1 шаг: сделаем скрипт автозапуска, как в теме Скрипт автостарта в Ubuntu;
sudo nano /etc/init.d/autostart.script
2 шаг: вставим в него следующие строки
#!/bin/bash
screen -A -m -d -S domino su - notes -c "cd ~ && /opt/ibm/lotus/bin/server"

Данный скрипт запустит из-под рута сессию screen под названием «domino», зайдет по пользователем «notes» и выполнит запуск сервера.
3 шаг: сделаем исполняеемым файл скрипта и добавим его в автозагрузку
sudo chmod +x /etc/init.d/autostart.script
sudo update-rc.d autostart.script defaults 95

Вуаля, как говорят французы.
В итоге мы получаем ситуацию, при которой при загрузке системы автоматически запустится сервер. Сессия screen при этом запустится от имени рута, потому чтобы посмотреть результат запуска (там будет консоль сервера), то следует набрать команду sudo screen -r
P.S.: если кто подскажет, как правильно запустить сессию screen от имени локального пользователя, то буду благодарен.
Доб. 09.08.2009 г.
В результате опытной эксплуатации удалось выявить, что данный способ работает отлично в Ubuntu, но не срабатывает в OpenSUSE 10. В первую очередь из-за отсутствия утилиты update-rc, во-вторую — из-за несколько другого механизма автозагрузки. Итак, если у кого нужно сделать автозагрузку сервер Domino в OpenSUSE, то для Вас шаг № 3 будет выглядеть так: su
chmod +x /etc/init.d/autostart.script
ln -s /etc/init.d/autostart.script /etc/init.d/rc5.d/S95autostart.script

Linux & Lotus. Единство великих.

В наше непростое время каждое предприятие ищет способы снизить затраты. Делать это следует конечно всегда, но самое главное — не в ущерб работе.
Для тех, кто использует продукты IBM категории Lotus, а точнее Lotus Domino и Lotus Notes, до недавнего времени были всего две реальные альтернативы в плане платформы для установки серверов и клиентов. Это либо AIX от IBM, либо Windows Server. И то и другое стоит денег и весьма приличных. Но на данный момент есть превосходная альтернатива, ничем не уступающая по производительности, а даже в чем то превосходящая.
Как вы уже догадались — это операционная система Linux.
Читать дальше

Это страшное слово – «виртуализация». Часть третья, заключительная. У страха глаза велики.

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

Итак, с чего же я начну… Став счастливым обладателем еще 4Гбайт оперативной памяти, 2-х терабайтников от WD и пары вентиляторов, я пришел к мысли, что надо не просто поставить все это в сервер, но и заодно воспроизвести ситуацию с переустановкой системы.
Для начала напомню и дополню свою конфигурацию сервера:

— процессор AMD Phenom X4 9550 SocketAM2+ (2.20GHz, 4Mb, 1800MHz) (я сторонник AMD, так уж вышло);
— плата MB ASUS sAM2+ M3A78 AMD 770 DDR2 ATX (выбирал по доступности и с наличием RAID, что в итоге оказалось не совсем корректным, читайте в первой части);
— оперативная память 8Гбайт (всего четыре планки по 2Гб, максимум для материнки);
— жесткие диски, 4 по 1Тб (объединены по два в RAID-1, один на более отказоустойчивых для активной работы, второй на попроще дисках для малоиспользуемых файлов относительно первого);
— операционная система Debian Lenny x86_64.

Перед тем, как переустанавливать, я естественно сохранил настроечные документы. И вы не забудьте тоже их сохранить, дабы заново не изобретать велосипед.
Что же изменилось, помимо добавления в аппаратной начинке? А изменению у меня подвергнутся виртуальные настройки. Я заранее распределю на разные сетевые карты виртуалки по признаку активности с внешним миром, повесив на отдельную сетевую карту внешние. Описывать там особо нечего, кроме того, что для этого я создал два бриджа, вместо одного и при настройке виртуальной машины прописывал нужный бридж. Плюс ко всему я перетаскиваю rtorrent с виртуальной на хостовую машину, т.к. столкнулся с неприятными особенностями работы nfs при большом кол-ве открытых файлов. Количественно это может и не много, около 200 одновременно открытых файлов, но от этого начинались жуткие тормоза раздачи, что меня не устраивало.
Как установить чистую систему, не потеряв нужных данных, вы и без меня знаете наверняка. Остановлюсь на важных и болезненных моментах, по моему мнению:

— виртуальные машины воспроизвелись без проблем, путем простого наката папки /etc/libvirt из бекапа (изменения вступили в силу после перезагрузки, единственное что поправил — это пути до образов жестких дисков и названия бридж-интерфейсов);
— при настройке второго рейда не торопитесь его использовать, лучше дождитесь окончательной синхронизации (хотя пользоваться им можно и сразу, но из-за фоновой синхронизации будут ощутимые потери в производительности).

Хм… что-то мало болезненных моментов, не правда ли? Ну так не забываем, что перед нами операционная система Linux, которая гораздо гибче и стабильнее Windows, так что сомнений быть больше у Вас не должно. В остальном никаких проблем не возникло, так что смело можете при необходимости переставлять систему, не боясь потерь.
Напоследок несколько фото, как выглядит в живую и со стороны ПО мой сервер (за качество не ругайте, снято на коммуникаторе):





Это страшное слово – «виртуализация». Часть вторая. Не повторяйте чужих ошибок.

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

1. Если предполагаете использовать серверы раздельно для сети и для интернета, лучше сразу запланировать/приобрести/настроить минимум две сетевые карты. Во-первых, работать будет шустрее. После разделения на две сетевые карты скорость по внутренней сети стала около 10Мбайт/с, тогда как в случае единственной сетевой карты скорость скакала от 2 до 6Мбайт/с. Во-вторых, как выяснилось, на уже настроенной на один интерфейс виртуальной машине при смене активного интерфейса начинаются непонятные явления, потери пингов и т.п. (Windows Server вообще потерял сеть, например, а rtorrent просто зависал).
2. Разделяйте на разные физические разделы данные, используемые с ощутимо разной интенсивностью. Т.е. если вы планируете раздавать файлы по пиринговой сети, ftp и локальной сети, то лучше сохранять эти файлы на отдельном разделе, по минимуму смешивая с теми, которые используются другими виртуальными машинами. Благо современные средства монтирования файловых систем позволяют в одну папку монтировать одновременно несколько физических разделов.
3. Если вы используете в качестве гостевой системы Linux, то по возможности приближайте ее к варианту, который стоит на хосте. Т.е. в моем случае это Debian Lenny. Сервер LAMP+FTP+Ubuntu работал относительно нестабильно в плане сетевой активности, в отличие от связки LAMP+FTP+Debian…
4. Если планируется очень большая активность файловых операций (типа раздача более 100 торрентов одновременно), то советую в этом случае отказаться от использования виртуальной машины и настроить сервер непосредственно на хосте. Это позволит избежать значительных потерь в производительности (к примеру хешироваться файл для торрент-раздачи на хосте будет раз в 10 быстрее, чем в виртуальной машине через nfs).

Материалы распространяются под лицензией Creative Commons: Атрибуция — Некоммерческое использование — С сохранением условий (Attribution-NonCommercial-ShareAlike) 3.0 Unported.
Рейтинг@Mail.ru