Бэкап/перенос FreeBSD (dump/restore)

Комментарии ()

Говорят, что системные администраторы делятся на тех, кто делает бэкапы, и тех, кто уже делает бэкапы. Ранее я чего то там бэкапил на фтп по ночам. Но недавно, после длительной инсталяции Directadmin'а и допиливания хостинг-сервера под свои нужды, по непонятым причинам побились системные файлы, в часноcти /etc/master.passwd. В общем зайти с консоли я уже не мог, да и жалко было потраченого времени. Вопрос бэкапа был отложен в длинный ящик, так как всегда находились якобы более важные дела. 

Для себя поставил задачу сделать бэкап(snapshot) системы в целом, дабы в день X развернуть ее за несколько минут. А вот бэкапы конфигов и нужных даных - как и ранее переодически хранить на отдельном сервере.

Далее опишу свою методику создания и розволрачивания бэкапа FreeBSD.


Читать далее

NFS сервер и клиент на FreeBSD

Комментарии ()

Что такое NFS?

NFS ( Network File System ) — протокол сетевого доступа к файловым системам. Основан на протоколе вызова удалённых процедур. Позволяет монтировать удалённые файловые системы через сеть.

NFS абстрагирована от типов файловых систем как сервера, так и клиента, существует множество реализаций NFS-серверов и клиентов для различных операционных систем и аппаратных архитектур. В настоящее время используется наиболее зрелая версия NFS v.4, поддерживающая различные средства аутентификации (в частности, Kerberos и LIPKEY с использованием протокола RPCSEC GSS) и списков контроля доступа (как POSIX, так и Windows-типов).

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

NFS клиенты получают доступ к файлам на NFS сервере путем отправки RPC-запросов на сервер. Это может быть реализовано с использованием обычных пользовательских процессов — а именно, NFS клиент может быть пользовательским процессом, который осуществляет конкретные RPC вызовы на сервер, который так же может быть пользовательским процессом.


Читать далее

Генерация docx на основе шаблона

Комментарии ()

Как мы уже наверное знаем, файлы docx и xlsx форматов представляют собой не что инное как zip-архив. Об этом можно почитать тут. В моем случае, мне был передан текстовый файл-шаблон  формата doc, в теле которого нужно подставлять нужные значения и генерить пачку файлов. 

Первым делом конвертируем doc в docx. Для решения поставленой задачи мне нужно на основе файла-шаблона создать рабочую копию, вытащить из него word/document.xml, сделать подстановку значений и запаковать назад.

Для подстановки значений использую PEAR'овский шаблонизатор HTML_Template_IT. Во первых я к нему превык, во вторых мне удобно пользоваться блоками в шаблоне. Написал клас Word. Пример использования:

<?php

            $word = new Word();
            $filename = "test.docx";

            $word->create($filename); // Создание нового файл на основе шаблона
            $word->extractTemplate($filename); // вытаскиваем document.xml
            // выполняем подставноку знечений с помощтю шаблонизатора document.xml
            $tpl = new HTML_Template_IT(_DIR . 'ptbr/word');
            $tpl->loadTemplatefile('document.xml', true, true);
            ...
            $tpl->setVariable('svnum', $svnum);
            $tpl->setVariable('date', $date);
            $tpl->setVariable('period', $period);
            ...
            $content = $tpl->get();

            $word->save($filename, $content); // Сохранение файла
        }
    }
}
?>

Нюансы:

В процессе редактирования docx-шаблона, создаются RSid-елеметы, которые используются для более эффективного слияния изменений одного документа. Они очень мешают, потому как разбивают в шаблоне переменную для подстановки на несколько частей. Решение нашел тут:

Нужно открыть редактор макросов (Alt+F11) и выполнить

Application.Options.StoreRSIDOnSave = False

Еще рукомендую перед сохранением шаблона :

  • выделить все и назначить один язык. Иначе текст тоже может быть разбит xml-форматированием. 
  • отключить проверку орфографии (потому как могут присутствувать xml данные вида  <w:proofErr w:type="gramStart"/>)

Читать далее

Обновление прошивки Alcatel-Lucent OS6850E

Комментарии ()

Прошивки берем тут

Скачиваем архив, его содержимое заливаем на свич в папку  /flash/working. Я это делаю через ssh c помощью winscp

Выполняем команду

reload working no rollback-timeout

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

copy working certified

Если свич в стеке, то 

copy working certified flash-synchro

Посмотреть версию прошивки командой:

-> show microcode
   Package           Release       Size     Description
-----------------+---------------+--------+-----------------------------------
Kbase.img         6.4.5.442.R02   20619824 Alcatel-Lucent Base Software
Kadvrout.img      6.4.5.442.R02    2992350 Alcatel-Lucent Advanced Routing
K2os.img          6.4.5.442.R02    1965831 Alcatel-Lucent OS
Keni.img          6.4.5.442.R02    6100606 Alcatel-Lucent NI software
Ksecu.img         6.4.5.442.R02     649399 Alcatel-Lucent Security Management
Kencrypt.img      6.4.5.442.R02       3437 Alcatel-Lucent Encryption Management


 


Читать далее

Can't create/write to file (Errcode: 23)

Комментарии ()

Не смог выполнитить бекап БД, в логах увидел ошибку

 Can't create/write to file '/var/tmp/#sql664_70443_8a9.MYI' (Errcode: 23) (1)

В консоли dmesg выдает

kern.maxfiles limit exceeded by uid 1007, please see tuning(7).


Читать далее

Установка DirectAdmin на FreeBSD 8.3 AMD64

Комментарии ()

Внимание! На апрель 2014 года установка на FreeBSD 9.2 amd64 со "скрипом" выполняется, но войти под admin невозможно. даже не разберался чего не так, если с самого начала посыпались проблемы. Юзаем FreeBSD 8.4...

Выполняем минимальную установку FreeBSD 8.3 AMD64, при инсталиции не забываем установить 32 bit binaries.

Пользователей, в процессе установки не добавляем, это сделаем в DA.


Читать далее

Unable to find device node for /dev/ad4s1a in /dev! The creation of filesystems will be aborted.

Комментарии ()

Такая ошибка была получена, в процесе установки FreeBSD 8.3. Ранее, на этот вичестер инсталировалась FreeBSD 9.1 с разбитием GPT.

Для создания MBR, нужно удалить GPT

gpart destroy -F

 


Читать далее

Установка DirectAdmin на FreeBSD 9.1 AMD64

Комментарии ()

Установка не является успешной. Не смог пройти авторизацию в веб-интерфейсе DA


Читать далее

Webit.in.ua 2013