Оптимизация FreeBSD для XenServer, ZFS в качестве корневой файловой системы.

Имеем FreeBSD 9.2 RELEASE установленную в XenServer 6.2 — корневая файловая система ZFS. Задача установить xen-tools для полной оптимизации системы.
Исправляем файл:

/usr/src/sys/kern/subr_autoconf.c

Комментируем строку 136 и 145.

/*      while (!TAILQ_EMPTY(&intr_config_hook_list)) { */
                if (msleep(&intr_config_hook_list, &intr_config_hook_lock,
                    0, "conifhk", WARNING_INTERVAL_SECS * hz) ==
                    EWOULDBLOCK) {
                        mtx_unlock(&intr_config_hook_lock);
                        warned++;
                        run_interrupt_driven_config_hooks_warning(warned);
                        mtx_lock(&intr_config_hook_lock);
                }
/*      } */

Читать далее

Загрузочная флешка Windows.

Задача создать загрузочную флешку для последующей установки Windows 8 (подойдет и для Windows 7). Понадобится образ установочного диска в формате iso, собственно USB флешка. Размер флешки должен быть не менее 4 Гб, идеально иметь 8 Гб, т.к. она гарантировано вмещает любой из дистрибутивов Windows 8.
Читать далее

Связка postfix+postfixadmin+cyrus-imapd

В этой статье коротко описан процесс установки связки postfix+postfixadmin+cyrus-imapd.
В большинстве опущены процессы установки и настройки некоторых программ, указаны в основном внесенные изменения в конфиг файлы.
Необходимо создать простую систему для создания, удаления и редактирования электронных почтовых ящиков — понятную простому пользователю.
Читать далее

Перевод ZFS mirror-0 с 512 байт сектора на 4K (ashift: 9 — ashift: 12).

Имеем FreeBSD 9.1 RELEASE amd64 установка которой производилась следующим скриптом:

#!/bin/sh
umount -f /dev/md1
mdmfs -s 512M md1 /tmp
sysctl kern.geom.debugflags=0x10
/bin/dd if=/dev/zero of=/dev/ada0 bs=1024k count=10
/bin/dd if=/dev/zero of=/dev/ada1 bs=1024k count=10
sleep 10
zpool create -f zroot mirror ada0 ada1
zpool set bootfs=zroot zroot
zfs set checksum=fletcher4 zroot
zfs set mountpoint=/mnt zroot
zpool export zroot
zpool import -o cachefile=/tmp/zpool.cache zroot
zfs create zroot/usr
zfs create zroot/usr/home
zfs create zroot/var
zfs create zroot/wwwroot
zfs create zroot/nfsroot
zfs create zroot/tmp
zfs create zroot/usr/ports
zfs create zroot/usr/ports/distfiles
zfs create zroot/usr/ports/packages
zfs create zroot/usr/src
zfs create zroot/var/crash
zfs create zroot/var/db
zfs create zroot/var/db/mysql
zfs create zroot/var/db/pkg
zfs create zroot/var/empty
zfs create zroot/var/log
zfs create zroot/var/mail
zfs create zroot/var/run
zfs create zroot/var/tmp
zfs create -V 4G -o org.freebsd:swap=on -o volblocksize=4K -o checksum=off zroot/swap
chmod 1777 /mnt/tmp
chmod 1777 /mnt/var/tmp
cd /mnt ; ln -s usr/home home
echo "install ..."
sleep 10
cd /usr/freebsd-dist
export DESTDIR=/mnt
for file in base.txz lib32.txz kernel.txz doc.txz src.txz; do (cat $file | tar --unlink -xvpJf - -C ${DESTDIR:-/}); done
echo "install ok"
sleep 1
cp /tmp/zpool.cache /mnt/boot/zfs/zpool.cache
echo 'zfs_enable="YES"' >> /mnt/etc/rc.conf
echo 'zfs_load="YES"' >> /mnt/boot/loader.conf
echo 'vfs.root.mountfrom="zfs:zroot"' >> /mnt/boot/loader.conf
echo '#vm.kmem_size="512M"' >> /mnt/boot/loader.conf
touch /mnt/etc/fstab
zfs set readonly=on zroot/var/empty
zfs umount -a
zfs set mountpoint=legacy zroot
zfs set mountpoint=/tmp zroot/tmp
zfs set mountpoint=/usr zroot/usr
zfs set mountpoint=/var zroot/var
zfs set mountpoint=/wwwroot zroot/wwwroot
zfs set mountpoint=/nfsroot zroot/nfsroot
/bin/dd if=/boot/zfsboot of=/dev/ada0 count=1
/bin/dd if=/boot/zfsboot of=/dev/ada1 count=1
/bin/dd if=/boot/zfsboot of=/dev/ada0 skip=1 seek=1024
/bin/dd if=/boot/zfsboot of=/dev/ada1 skip=1 seek=1024

Поскольку ZFS устанавливался на сырые диски — все установилось с размером сектора 512 байт (ashift: 9).

ada0: <WDC WD1003FBYX-01Y7B1 01.01V02> ATA-8 SATA 2.x device
ada0: 300.000MB/s transfers (SATA 2.x, UDMA5, PIO 8192bytes)
ada0: 953869MB (1953525168 512 byte sectors: 16H 63S/T 16383C)
ada1: <Hitachi HDS721010CLA332 JP4OA3MA> ATA-8 SATA 2.x device
ada1: 300.000MB/s transfers (SATA 2.x, UDMA5, PIO 8192bytes)
ada1: 953869MB (1953525168 512 byte sectors: 16H 63S/T 16383C)
 # zdb | grep ashift
            ashift: 9

Поставил себе задачу перевести пул на использование 4К секторов (ashift: 12) и GPT меток с сохранением данных и минимальным временем простоя.
Читать далее

Скрипт получения списка компьютеров в домене.

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

On Error Resume Next
Dim UserPCs(10000,1)
Set FSO = CreateObject("Scripting.FileSystemObject")
Set TF = FSO.CreateTextFile("C:\file_name.txt", True)
Const ADS_SCOPE_SUBTREE = 2
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection
objCommand.CommandText = _
"SELECT Name, operatingSystem FROM 'LDAP://DC=domain,DC=local' WHERE objectClass='computer' "
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE 
Set objRecordSet = objCommand.Execute
i=1
objRecordSet.MoveFirst
Do Until objRecordSet.EOF
strComputer = objRecordSet.Fields("Name").Value
UserPCs(i,0)=strComputer&".domain.local"
UserPCs(i,1)=objRecordSet.Fields("operatingSystem").Value
objRecordSet.MoveNext
TF.Write (UserPCs(i,0))
TF.Write "|"
TF.Write (UserPCs(i,1))
TF.Write vbCrLf
i=i+1
Loop

Вместо domain и local подставляем свои данные.

Неизлечимая болезнь.

…Ах, какая была Держава!..

Если меня приведут в современном русском городе к бочке с квасом, стоящей в обычном дворе многоэтажного дома, — бочке, возле которой нет продавца, бочке, из которой каждый наливает сколько хочет и кладет в стоящую тут же коробочку мелочь сообразно с ценой, криво написанной на приклеенной к оранжевому боку изолентой картонке, к бочке, которую привозит утром и увозит вечером небрежно вытряхивающий деньги в сумку мужичок на тракторишке… так вот, если кто-то сейчас сделает такое, я признаю, что «Раисся всаеть с калееен!». До тех пор не надо мне петь такие песни. Не поверю.

А бочки такие стояли еще в 1991-м, кстати… И еще были кассы самообслуживания в общественном транспорте. Люди клали в них деньги и отрывали билетик…

Разговор не ведется о том, насколько вменяемы те, кто обрушивается с нападками на Совок. Чтобы сразу поставить в этом вопросе точку, я скажу просто: критикующие Совок в сравнении с современностью психически больны.

Читать далее

Блокировка криптографических ключей меньше 1024 бит — KB2661254

Чтобы снизить риск несанкционированного доступа к конфиденциальной информации корпорация Майкрософт выпустила несвязанное с безопасностью обновление (KB 2661254) для всех поддерживаемых версий Microsoft Windows. Это обновление блокирует криптографические ключи меньше 1024 битов. И как быть? Запускаем от администратора консоль:

certutil -setreg chain\EnableWeakSignatureFlags 8

Дополнительная информация здесь.

О телесериале «Страсти по Чапаю».

На днях посмотрел новый телесериал от первого канала «Страсти по Чапаю». Вообще, просмотром подобной продукции не увлекаюсь, по причине её традиционно низкого качества. А если речь идёт об исторических сюжетах, опыт подсказывает, продукт ко всему прочему будет под завязку наполнен идеологическими помоями. Это притом, что официально в современной России идеологии нет. На самом деле идеология, понятно, есть, и это ярый воинствующий антисоветизм. Вот и фильмы снимают такие, чтобы граждане не забывали, каким тоталитарным адом была жизнь в СССР, и как хорошо живётся сейчас. Впрочем, творцы современной отечественной кинопродукции ухитряются втиснуть тему ужасов чекизма всюду, даже в фильм об Иоанне Грозном. Возникают подозрения, если первый канал возьмётся ставить сюжет о каменном веке, то и там тема беспредела отечественных спецслужб будет раскрыта в полной мере.
Читать далее

NAVITEL. Ошибка -13.

Обновлял карты в своем навигаторе, скопировал новые карты на SD карточку, проверил на ошибки — все в порядке. В навигаторе, при запуске NAVITEL — ошибка чтения карт -13. После поиска в FAQ нашлось решение. Сохранил содержимое SD карточки на компьютере, отформатировал ее с помощью программы SDFormatter, скопировал все обратно — ошибок нет, NAVITEL нормально работает.