Рубрики
Администрирование

Настройка shared-storage раздела с OCFS2 файловой системой на RHEL/OEL/CentOS

Довльно-таки часто приходится ставить и настраивать оракловые кластеры из нескольких нод с использованием внешних хранилищ. И конечно же, для заливки дампов нужны расшаренные папки, то есть папка в БД создается на уровне кластера, а значит она должна быть доступна со всех нод кластера. В таких случаях идеальным решением является использование кластерных файловых систем, и конечно же, одним из самых подходящих вариантов является использование кластерной файловой системы от Oracle — OCFS2.

Рубрики
Oracle Администрирование

Администрирование linux из-под Enterprise Manager Grid Control 11g

В очередной раз ковыряясь в Oracle EM Grid Control, и попав в раздел администрирования хоста, увидел что для управления сервером надо поставить какой-то там YAST и скрипты. Ну и все-таки решил посмотреть какие же возможности тут есть. Поэтому если вам вдруг захотелось поадминить linux не из-под обычной консоли, а прямо из EM Grid Control, то вот небольшая инструкция как легко и просто это сделать. Может оно конечно уже и не актуально в свете выхода EM 12c, но вдруг кому-то пригодится.

Рубрики
MacOS Администрирование Разработка

Makefile – missing separator. Stop.

После очередного апдейта безопасности MacOS X у меня в очередной раз слетел пых с ораклом. Во время шаманств при сборке пыха из сырцов, дабы скомпилить его с поддержкой iconv & oci8 столкнулся с вот такой проблемой:

kostik@KOsTIK: ~/Sources/php-5.3.8> make
Makefile:148: *** missing separator.  Stop.

Возникло это после ручной правки Makefile. Чего в обычной жизни делать не требуется. Но при сборке php под mac os x это неотъемлемый шаг. Если вы столкнулись с такой же проблемой, то знайте, что лечится она очень просто — надо использовать табы вместо пробелов там где требуются отступы. Так что просто внимательно следите за тем, что меняете. Меняйте только сами команды, а не отступы.

Рубрики
Администрирование

Основные темы для изучения linux

Что-то давно я ничего не писал в свой блог. А сегодня пятница, за окном льет как из ведра, работать уже лень… Подумал, что самое время что-то написать. Был у меня не очень давно разговор с товарищем на тему администрирования *nix-систем. Обсуждали мы вопрос того, какие темы/области/знания в разрезе *nix-систем хорошо бы знать, чтобы успешно устроиться на работу системным администратором. Я обещал составить небольшой список тем, которые надо освоить, чтобы можно было считать себя более-менее нормальным админом *nix (ну вероятнее всего linux).

Рубрики
Администрирование

MySQL и регистро-зависимость имен в MacOS X

Всем привет.
Столкнулся тут на днях со следующей проблемкой. Я работаю на Mac OS X, и поэтому все необходимое для разработки ПО у меня стоит на моем компе, тот же Апач, Пых (они вообще идут из коробки) ну и Майскуль.
Так вот, решил я для одного нового проекта заюзать MySQL Workbench. Это такая утилита, в которой можно построить UML-схему базы данных, все красиво разрисовать и потом слить эту структуру в конечную БД, так же есть Reverse Engineering. В общем, первое сливание текущей структуры из БД прошло гладко, а вот первая же заливка изменений в БД уже не получилась. Не смотря на то, что Workbench честно показывал изменения, после накатывания аптейта, он все равно продолжал считать, что все структуры разные. Дело в том, что я люблю называть таблицы красивыми именами, отражающими действительность, с заглавными буквами, разве что в дополнение к CamelCase стилю еще разделяю слова символом подчеркивания. Так вот после долгих изучений и изысканий обнаружилось, что установки по умолчанию в MySQL Server на Mac OS, не очень подходят для моего случая.

Как известно, в MySQL, база данных соответствует определенной директории на сервере, и каждая таблица хранится в виде файла (или нескольких в зависимости от движка). Поэтому регистро-чувствительность ОС играет немаловажную роль в обработке регистро-чувствительности при разрешении имен в базе данных. Это означает, что если ваш сервер на винде, то ему пофиг на регистр, в *nix-подобных системах же наоборот, регистр имеет значение, за исключением Mac OS, которая вроде как юникс, а файловая система там HFS+, которая не очень чувствительна к регистру.

В MySQL сервере есть 2 системных переменные которые имеют отношение к регистру имен, это lower_case_file_system и lower_case_table_names. Первая переменная отражает регистрочувствительность файловой системы, где расположено хранилище, оно может принимать всего два значения: OFF — фс чувствительная к регистру и ON — не чувствительна.
Вторая переменная, lower_case_table_names, отражает механизм, как происходит сравнение имен и способ их хранения. 0 означает, что имена сохраняются в том виде, в котором были заданы и сравнение чувствительно к регистру. При значении 1, имена таблиц хранятся в нижнем регистре и сравнение не чувствительно к регистру. В случае 2, имена хранятся как есть, но сравнение происходит в нижнем регистре.

По умолчанию эти переменные принимают вот такие значения на Mac OS X:

kostik@KOsTIK: ~> mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 6
Server version: 5.1.49 MySQL Community Server (GPL)
mysql> select @@lower_case_table_names;

+--------------------------+
| @@lower_case_table_names |
+--------------------------+
|                        2 |
+--------------------------+
1 row in set (0.00 sec)

mysql> select @@lower_case_file_system;
+--------------------------+
| @@lower_case_file_system |
+--------------------------+
|                        1 |
+--------------------------+
1 row in set (0.00 sec)

И вот такие на *nix (проверил на Linux/FreeBSD)

kostik@linux: ~> mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 49773
Server version: 5.1.51 MySQL Community Server (GPL) by Remi

mysql> select @@lower_case_table_names;
+--------------------------+
| @@lower_case_table_names |
+--------------------------+
|                        0 |
+--------------------------+
1 row in set (0.00 sec)

mysql> select @@lower_case_file_system;
+--------------------------+
| @@lower_case_file_system |
+--------------------------+
|                        0 |
+--------------------------+
1 row in set (0.00 sec)

 

Если почитать описание этих переменных на сайте mysql (тут), то там написаны замечательные рекомендации по выставлению правильных параметров переменной lower_case_table_names. Если лень читать, то основная мысль: если вы используете InnoDB как основной движок, то поставьте везде этот параметр в 1.
Самый простой способ — это прописать эту переменную в файле конфигурации my.cnf в секцию [mysqld] и рестартануть Mysql сервер.

В общем-то я не открыл ничего нового, все это можно найти в офф. документации на сайте, статья: Identifier Case Sensitivity дает более развернутое описание этой ситуации. Рекомендую прочитать.
Вот и все!

Рубрики
Администрирование

Регенерация SSH-ключей для Linux-сервера.

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

Рубрики
Администрирование

Загрузка Linux’а в Single User Mode

Небольшая заметка о том, как загрузить Линуск с Grub’ом в однопользовательском режиме. Потребность в этом бывает не часто, а точнее крайне редко, поэтому все время забываешь как же это делается. Вот чтобы не забыть, как говориться на заметку, ниже пара инструкций как это легко сделать.

Рубрики
Администрирование

Клонирование сервера CentOS с помощью dump/restore

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

Рубрики
Администрирование

Автодополнение команд после sudo в bash

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

Постановка задачи:

Сделать автодополнение команд в баше после sudo, а так же возможность выполнения алиасов так же после sudo.

А в чем собственно проблема спросите вы? — Да ни в чем, если вам это не нужно, однако мне, живущему на Mac OS X, периодически приходится выполнять некоторые команды из под рута. А для этого как ни сложно догадаться, используется команда sudo. А поскольку Линуксоид я еще тот, то мне уже давным давно лень писать команды полностью, ведь есть TAB 🙂 Но по умолчанию автодополнение после написания sudo не работает.

Проблема номер два: это то что, после sudo так же не работают алиасы. Вот пример: у меня есть некоторое количество алиасов, среди них alias ll=’ls -l’. Вот что будет если вы попробуете выполнить:

> sudo ll

Password:
sudo: ll: command not found
Рубрики
Администрирование

Обновление портов FreeBSD

В общем-то ничего сверх секретного я не скажу. Но дабы самому не забыть, да и вдруг кому-то пригодится.
Потребовалось мне обновить порты на одном из моих серверов на FreeBSD, дабы поставить ffmpeg версии > 0.5.
Сервер в общем-то локальный, для разработки, поэтому порты там последний раз обновлялись давным давно, когда ставилось изначально ПО.
Начал вспоминать как это делается. На ум первым делом пришла мысль о cvsup, которым я когда-то давно пользовался. Но! Но потом я вспомнил что есть уже давным давно более простой способ под названием portsnap. О нем собственно и речь.