Прості правила зберігання даних (Linux)

У часи, коли інформація є одним з найцінніших ресурсів, оберігати її слід дуже пильно. Тому напишу про обов'язкові заходи моніторингу сховищ інформації.

Маємо сервер з ОС Linux та програмним RAID1 або RAID5, хоча поради будуть слушні і для інших типів масивів.

Моніторинг RAID-масиву

Відкрийте файл /etc/mdadm/mdadm.conf, та розкоментуйте і виправте, вказавши потрібну E-mail адресу, наступний рядок:

MAILADDR sysadmin@ваш.домен.ua

Моніторинг стану жорстких дисків (всіх, не тільки з RAID масиву)

Про те, що диск скоро треба буде замінити, хотілося б знати заздалегідь, для цього ми налаштуємо smartd з пакунку smartmontools.

Відкрийте файл /etc/default/smartmontools та розкоментуйте рядок:

start_smartd=yes

, це дозволить smartd запускатись при старті системи.

Стандартна конфігурація smartd передбачає автоматичний пошук дисків, які підтримують S.M.A.R.T., тому вам достатньо відредагувати файл /etc/smartd.conf, встановивши правильну E-mail адресу в опції автопошуку:

DEVICESCAN -m sysadmin@ваш.домен.ua -M exec /usr/share/smartmontools/smartd-runner

Після перезапуску в журналі /var/log/syslog ви побачите приблизно таке:

Jul 19 14:21:21 psi smartd[18491]: smartd version 5.38 [x86_64-unknown-linux-gnu] Copyright (C) 2002-8 Bruce Allen
Jul 19 14:21:21 psi smartd[18491]: Home page is http://smartmontools.sourceforge.net/#012
Jul 19 14:21:21 psi smartd[18491]: Opened configuration file /etc/smartd.conf
Jul 19 14:21:21 psi smartd[18491]: Drive: DEVICESCAN, implied '-a' Directive on line 22 of file /etc/smartd.conf
Jul 19 14:21:21 psi smartd[18491]: Configuration file /etc/smartd.conf was parsed, found DEVICESCAN, scanning devices
Jul 19 14:21:21 psi smartd[18491]: Problem creating device name scan list
Jul 19 14:21:21 psi smartd[18491]: Device: /dev/sda, opened
Jul 19 14:21:21 psi smartd[18491]: Device /dev/sda: using '-d sat' for ATA disk behind SAT layer.
Jul 19 14:21:21 psi smartd[18491]: Device: /dev/sda, opened
Jul 19 14:21:21 psi smartd[18491]: Device: /dev/sda, found in smartd database.
Jul 19 14:21:22 psi smartd[18491]: Device: /dev/sda, is SMART capable. Adding to "monitor" list.
Jul 19 14:21:22 psi smartd[18491]: Device: /dev/sdb, opened
Jul 19 14:21:22 psi smartd[18491]: Device /dev/sdb: using '-d sat' for ATA disk behind SAT layer.
Jul 19 14:21:22 psi smartd[18491]: Device: /dev/sdb, opened
Jul 19 14:21:22 psi smartd[18491]: Device: /dev/sdb, found in smartd database.
Jul 19 14:21:22 psi smartd[18491]: Device: /dev/sdb, is SMART capable. Adding to "monitor" list.
Jul 19 14:21:22 psi smartd[18491]: Device: /dev/sdc, opened
Jul 19 14:21:22 psi smartd[18491]: Device /dev/sdc: using '-d sat' for ATA disk behind SAT layer.
Jul 19 14:21:22 psi smartd[18491]: Device: /dev/sdc, opened
Jul 19 14:21:22 psi smartd[18491]: Device: /dev/sdc, not found in smartd database.
Jul 19 14:21:22 psi smartd[18491]: Device: /dev/sdc, is SMART capable. Adding to "monitor" list.
Jul 19 14:21:22 psi smartd[18491]: Monitoring 0 ATA and 3 SCSI devices

На одному з серверів я мав проблему з автовизначенням, тому довелося закоментувати DEVICESCAN та прописати диски вручну, ось так:

/dev/sda -a -d sat -m sysadmin@ваш.домен.ua
/dev/sdb -a -d sat -m sysadmin@ваш.домен.ua

, де -a — набір стандартних перевірок, -d — для дисків схованих за 'SAT layer' (у сучасних дистрибутивах всі диски виглядають та керуються, як диски з послідовним інтерфейсом), -m — адреса, куди надсилатимуться звіти та попередження.

Запускаємо smartd:

/etc/init.d/smartmontools start

Ось і все, уважно читайте пошту за ранковою кавою :) і ви будете завжди в курсі того, що відбувається з вашими сховищами даних. Проте не забувайте і про необхідність резервного копіювання, бо моніторинг це обов'язкова, але недостатня умова для збереження даних.


Іменування таблиць у базах даних

Стандартні рекомендації щодо іменування об'єктів БД застерігають від використання іменників у множині (наприклад, contracts замість contract). Але у вітчизняних (це я так завуальовано написав про "легасі" частину нашої БС) продуктах іноді зустрічаються назви у множині та ще й транслітеровані з української (наприклад, ugody замість contract). З такими назвами був цікавий казус: один з новачків з круглими від здивування очима спитав мене - що це за поле "угадано", хоча мався на увазі номер угоди "ugodano".

До чого я все це веду, ніколи не називайте об'єкти БД словами у множині і із застосуванням транслітерації, подивіться у словник і виберіть англійський відповідник слова, а якщо об'єкт і має якусь локальну специфіку, опишіть це в документації.


Mac OS X і зовнішній жорсткий диск

Задача: ефективно/зручно використовувати для резервного копіювання і зберігання всяких даних зовнішній жорсткий диск ємністю 1ТБайт у операційних системах Linux, Mac OS X і опціонально Windows.

Теоретична частина (вибір ФС для диску)

З чого будемо вибирати: рідна для Linux — Ext3, рідна для Mac OS X — HFS+, рідна для Windows — NTFS, на FAT не дивимось бо її обмеження у XXI-у столітті виглядають смішними.

. Ext3 - дуже симпатичний кандидат (OSS4ever!), але вимагає установки

милиць у інші ОС, як виявилося пізніше дуже кривих.

. HFS+ - Apple way, Джобз тріумфує (дай йому Бог здоров'я), для інших

ОС знадобляться додаткові танці, але я сподіваюсь Linux, як завжди, потішить, а на Windows нам начхати (зовсім необов'язково)

. NTFS - "обітєль зла", на Mac треба додатковий софт, на Linux хоч і

коробочний, але теж не дуже рідний. Єдиний незначний плюс - можливість запхати в чужий віндовий комп'ютер, але й це скоріше мінус, бо ще всяких "зловрєдів" налізе.

Добряче почухавши потилицю, вибираємо HFS+, подивимось як заведеться під Linux.

Практична частина (зберігаючи хронологію, але без матюків)

Диск був відформатований у Ext3, оскільки раніше я використовував виключно Linux (Ubuntu). На ньому накопичилась купка даних, які треба тимчасово перенести на Mac (більше ніде немає достатньо місця), попутно пробуємо варіант №1 з теоретичної частини.

Спроба № раз — macfuse і ext2fuse

Взагалі, способів установки ПЗ на Mac забагато; і .dmg, і .pkg, для OSS - macports, а віднедавна ще й AppStore. Я, як новачок, ще й досі гублюся... але для OSS вибрав один єдиний "православний" і "кошерний" спосіб — macports.

Вони ж (ports) мене і підвели, як ти їх не умовляй хоч через variants, хоч через macports.conf, все одно збирали модуль ядра тільки для архітектури i386.

Помордувавшись трохи, подумав, біс із ним, перезавантажив систему у 32-бітному режимі. І тут невдача, щось йому там "connection timed out", вирішив далі не розбиратись. Зніс ext2fuse і macfuse.

Спроба № два — Ext2fsx

Проект дохлий, не оновлюється з 2006-го, але знайшлася пара статей за 2010 «ставте все працює» — дзуськи! На Snow Leopard (10.6.7) воно не працює ні разу. Нічого дивного, йдемо далі.

Спроба № три — Paragon (Бог трійцю любить)

За рекомендацією приятеля ставлю комерційний Paragon ExtFS for Mac OS X, "тик-тик-тик", встановлено — працює. Ура!

Не душила б жаба заплатити $40 (але краще "Deore по кругу" для ровера, а якщо й до комп'ютера то Portal 2 ;)), використовував би на диску Ext3 і горя не знав, але ставлю 10-денну демо-версію, щоб тільки раз переписати файли з Ext3 на Mac.

Фініш

На цьому мої поневіряння закінчились, файли переписано, диск переформатовано у HFS+ (без журналювання). Linux побачив HFS+, хоч і без журналювання, зате «з коробки» на читання/запис, чим вкотре підтвердив свою позитивну репутацію «приспособлєнца».


Прикупив іграшку для Linux

На ЛОРі проскочила новина про те, що іграшка Steel Storm продається в Ubuntu Software Center (далі USC) зі знижкою (за $2,99). Не те щоб мені дуже треба була іграшка під Linux, зараз літо і запчастини до велосипеда важливіші, але хто ж пройде повз велику знижку і можливість підтримати "геймдев", який бачить перспективу у нашій улюбленій платформі? :) Крім того, мені було цікаво як працює покупка в USC.

Загалом, процедура покупки проста як одвірок. Шукаєш програму в USC, тиснеш «Купити», просять авторизуватись (добре, що в інфраструктурі Ubuntu працює наскрізна авторизація), вводиш "білінгову інформацію" (адресу) і дані платіжної карти, підтверджуєш покупку. Все! Гра встановлюється на комп'ютер. І ніяких проблем з тим, що ти живеш у неправильній країні (камінь у город Apple).

Крім відсутності можливості оплатити покупку через PayPal (тільки напряму карткою), робота з комерційним ПЗ в USC лишила дуже приємні враження.

Про саму гру: іграшка приємна, мені сподобалася (мабуть єдина з шутерів з виглядом зверху), трошки одноманітна і доволі проста, але це тільки у режимі кампаній (single player), мережевий я ще спробую :).

Гляньте відео: