понедельник, 19 сентября 2011 г.

Конвертация centos6 в sl6 (convert centos 6 to sl 6x)

Итак, намучавшись с centos6 (не работающий проброс ключа hasp в виртуальную машину), решился на подлый шаг - преобразование centos в scientific linux.
Подтолкнуло к этому чтение форумов, где утверждается что данный функционал не работает (точнее то работает, то нет) на rhel 6 и только заработал на 6.1, а, как известно, релиз centos 6.1 даже на горизонте не маячит.
Начинаем
Бэкап всего что попадется под руки.
Устанавливаем репы SL:
rpm -ivh --force http://ftp.scientificlinux.org/linux/scientific/6x/x86_64/os/Packages/sl-release-6.1-2.x86_64.rpm
Чистим yum
yum clean all 
Обновляем сам yum и rpm
yum update yum* rpm*
обновляем систему
yum update
Удаляем лишнее
rpm -e centos-release
rpm -e yum-plugin-fastestmirror

Обновляем логопиты
yum distro-sync
Переустанавливаем пакеты вендора centos
rpm -qa --qf "%{NAME} %{VENDOR}\n"|grep CentOS 
Так мы вывели список таких пакетов
и вперед: yum reinstall по списку)
reboot
Немного поволновавшись за систему, ушел пить чай
В результате все прошло идеально, ошибок в логах нет
И, самое главное, ключ появился в виртуальной машине. Сервер предприятия его подхватил и пользователи свободно зашли в 1с.
P.S. Бинарная совместимость клонов rhel это просто праздник...
Придала решимости мне вот эта статья
Ага, озадачился установкой системы мониторинга и развертывания

не забыть в начале установить make gcc

вторник, 6 сентября 2011 г.

1C Postgresql Backup

Так из того, что до сих пор не было сделано, это бэкап. Это плохо(
Доделал, чем с вами и делюсь)
За основу был взят скрипт отсюда, спасибо за простой и не напряжный вариант.
Единственно, пришлось немного поправить скрипты и пути, были небольшие опечатки.
файл crontab для пользователя postgres:
crontab -e -u postgres

0 8-20/2 * * * /var/lib/pgsql/backups/archpgbase /var/lib/pgsql/backups hourly gpi
0 2 * * * /var/lib/pgsql/backups/archpgbase /var/lib/pgsql/backups daily gpi
0 4 1 * * /var/lib/pgsql/backups/archpgbase /var/lib/pgsql/backups monthly gpi

файл скрипта.

bash-4.1$ cat /var/lib/pgsql/backups/archpgbase
#!/bin/sh
arcdir=$1
bindir=/usr/bin
PASS=237511
USAGE= "Usage: arcdb hourly|daily|mountly [SQLhost]"
if [ "$4" = "" ]; then
SQLhost='127.0.0.1'
fi
echo "SQLhost: $SQLhost"
if ! [ -d $1 ]; then
echo $USAGE
exit 1
fi
echo "Target dir: $1"
if [ "$3" = "" ]; then
echo $USAGE
exit 1
fi
echo "Database: $3"
case $2 in
hourly)
find $arcdir/$2/$3/ -type f -ctime 1 -delete
;;
daily)
find $arcdir/$2/$3/ -type f -ctime 31 -delete
;;
monthly)
find $arcdir/$2/$3/ -type f -ctime 365 -delete
;;
*)
echo $USAGE
exit 1
;;
esac
if ! [ -e $arcdir/$2/$3 ]; then
mkdir $arcdir/$2/$3
fi
export PGPASSWORD=123456
$bindir/pg_dump -h $SQLhost -U postgres -c $3 | gzip >>$arcdir/$2/$3/`date +%y%m%d%H%M`.gz

создаем директории в /var/lib/pgsql/backups/
monthly
daily
hourly

отдаем пользователю постгресса во владениее папки
chown -R postgres /var/lib/pgsql/backups

делаем скрипт исполняемым

chmod +x /var/lib/pgsql/archpgbase

все. все просто и понятно)


Полезно!

Как раз занимаясь разборками с KVM, обнаружил следующее:
http://libc6.org/virtualization/
Помогло кое-в чем разобраться, спасибо огромное)

понедельник, 5 сентября 2011 г.

Сервер 1с на Linux

Сегодня повторил установку для дружественной организации.
Делал, как и описывал один в один. Не заработало. Возникли две проблемы, достаточно неприятные (просто жаль убитого времени).
1. Проблема - не доустановился пакет с cabextract на этапе установки шрифтов от Майкрософт. В результате ошибка при запуске платформы 1С "Не удалось инициализировать графическую подсистему".
Пришлось проверять каждый пакет на правильность установки. А все из-за ключа yum --nogpgcheck, просто не все подписывают свои пакеты, что есть плохо
2. Проблема - не пробросился в виртуальную машину ключ сервера 1С:Предприятия. Ругается в логах на ошибку прав. Хотя прав ему хватает.
Решение легкое, но не правильное - если есть возможность в bios превратить контроллер usb в 1.1 из 2.0. 
Решение трудное - установить пакет qemu-kvm от Scientific Linux 6.1. Не очень хочется, но данный баг починили только в RHEL 6.1.
Решение долгое - дождаться пока CentOS Team выпустит наконец версию 6.1, и обновиться
По различным причинам выбрал последний вариант (у мамки нет настроек usb, ставить левые пакеты страшновато, пользователей работает пока всего 10).

четверг, 1 сентября 2011 г.

Установка: часть 3 - Терминальный сервер

Итак у нас получился вполне себе работоспособный сервер 1С:Предприятия на базе CentOS, что не может не рабовать)
Для окончательного избавления от Windows Server не хватает только терминального режима работы. Чем я занимался последние два дня... Ага, именно, два дня!
Как я себе это представлял:
1. Какая-нибудь ОС дружного и не очень семейства Linux
На самом деле, думал я, без разницы какая, главное постабильней. в качестве DE - LXDE, ибо легкая (что в названии DE и написано)
2. За пользовательские сеансы отвечать будет NX
Других-то вариантов на горизонте нет
3. 1С будет последней доступной платформы в режиме толстого клиента
Знаю я, знаю, про тонкого клиента, да и про веб-клиента. Вы его пробовали? Покажите мне розничный интерфейс на управляемых формах, и я пойду в лес, лягу в берлогу к медведю и буду... не важно короче. Склады и магазины работают в АРМах и их нет в управляемых формах))
4. Поскольку клиент-то толстый (неполиткоректно как-то звучит) нужен wine для его запуска.


Поехали.

Установка: часть 2 - Косяк

Столкнулся с небольшой проблемкой после установки.
sshd на сервере Centos 6 не позволяет проводить аутентификацию пользователей по PublicKey. Все дело во включенном SELinux. Временное решение - отключить))
Разберусь с SELinux включу назад, ибо секурно))

вторник, 30 августа 2011 г.

Установка сервера для 1С:Предприятие 8.2

Обобщив весь опыт и все, что нашлось в Интернете описываю установку

1. Система
Базовая система CentOS 6.0 (свежее пока нет, чего-то индусы задерживаются)
Ставим все на SuperMicro X8DTU
2 x Xeon E5620
4 x SATA WD RE4 250Gb
3 x 4Gb DDR3 ECC (немного не оптимально, но планка уже едет))

2. Что хотим получить
Как обычно получить надо все и быстро, поэтому определяемся:
1. Сервер 1С:Предприятия
2. Сервер баз данных
3. Сервер виртуализации
4. Терминальный сервер
5. Сетевая инфраструктура
Многовато конечно, но вот такие задачи. По поводу целесообразности установки всего этого на один сервак можно спорить, но нежелательно, так как других вариантов пока нет. Объясняю: 1С - лицензия, ключ на сервер куплен, но вот незадача 32 битный, лишних денег (порядка 36кр) сейчас в обрез, надо заставить работать как есть. А ставить в наш век 32 разрядную систему на 12 гигов оперативы - изврат, да и для базы данных полегче. Получаем: Centos 6 x86_64 на котором стоит Postgres и всякие dhcpd, bind, а также гипервизор KVM в котором крутится Centos 6.0 32bit в котором крутится Сервер Предприятия. Вот так.
Начнем, пожалуй.