Tuesday, 31 August 2010
Sunday, 29 August 2010
Что такое RAID-Z?
Уверен, многие довольно часто сталкивались с этим модным термином в сфере хранения данных, но мало кто знает, что он из себя представляет. Итак, давайте разберемся, что это за зверь и почему он так крут.
Для начала стоит отметить, что это не какая-то абсолютно новая технология, а, скорее, работа над проблемами, которые имели место в RAID-5. Какие именно недостатки она исправляет? Во-первых, устраняется проблема под название "Write hole", во-вторых, в RAID-5, если была изменена лишь часть страйпа (страйп - это группа блоков, каждый из которых расположен на отдельном жестком диске), то необходимо перечитывать весь страйп для того, чтобы пересчитать его данные четности (а это наносит серьезный урон производительности). То есть, если идет запись всего страйпа целиком, то мы просто асинхронно ее выполняем на всех дисках. Если же переписывается только часть страйпа, то необходимо сначала выполнить синхронное чтение перед тем, как что-либо писать. У железных RAID-5 контроллеров это решается посредством сохранения записываемых данных в кэше на то время пока будет выполнено синхронное чтение.
Как же указанные проблемы решаются в RAID-Z? Во-первых, в ZFS RAID-Z используется динамический размер старйпа (что автоматически устраняет случай "частичной перезаписи страйпа"). Таким образом, устранение частичных записей страйпа вместе с принципом записи copy-on-write (новые данные не записываются поверх старых, а пишутся в новое место, а потом атомарно происходит переустановка указателя на новое расположение данных) полностью решают проблему "Write hole". Также, RAID-Z имеет преимущество в скорости, так как ему не нужно выполнять чтение перед записью (так как отсутствуют частичные записи страйпов).
Уход от фиксированного размера страйпа, очевидно, усложняет устройство RAID-массива, так как теперь невозможно пройти весь массив и, допустим, разбив его на блоки 64 килобайта высчитать их ключевые суммы. В связи с динамическим размером страйпа необходимо где-то хранить метаданные о размере страйпов. Что таит в себе еще одну проблему - теперь файловая система (где хранятся эти метаданные) и RAID массив представляю собой единое целое, что делает невозможным раздельную реализицию файловой системы и RAID контроллера. То есть, требуется взгляд как со стороны механики, так и со стороны логики устройства ФС.
Усложнение структуры файловой системы не может не сказаться на скорости работы. Но будет ли это приводить к замедлению? Совершенно нет, так как при синхронизации будут копироваться только блоки с данными, а пустые блоки не будут. Также стоит обратить внимание, что в ZFS блоки хешируются 256 битными ключевыми суммами, в то время как в обычном RAID используется простейший xor.
ZFS RAID-Z также обеспечивает беспрецедентный уровень защиты данных от повреждения по механическим причинам, так как защищает не только от отказа отдельного жесткого диска, но и позволяет обнаруживать отказы отдельных блоков на диске. Когда Вы считываете с RAID-Z блок он сравнивается с его ключевой суммой. Если данные не соответствуют ключевой сумме, то ZFS считывает данные о четности и пытается реконструировать данные, а также при этом выясняет, какой из дисков послужил источником проблемы и, разумеется, уведомляет об этом администратора. Таким образом, приложение запросившее данные получает корректные данные без каких-либо ошибок.
Очень важнй чертой технологии ZFS RAID-Z является то, что она не предъявляет никаких требований к аппаратной части сервера (не считая повышенных требований к оперативной памяти).
Кроме RAID-Z также существует его модификация RAID-Z2 (близка к RAID-6), которая устойчива к отказу двух жестких дисков. Кроме этого, уже существует (но пока только-только портирована во FreeBSD) версия RAID-Z3, которая выдерживает отказ до трех дисков массива.
По материалам: http://blogs.sun.com/bonwick/entry/raid_z и http://en.wikipedia.org/wiki/Non-standard_RAID_levels#RAID-Z
Для начала стоит отметить, что это не какая-то абсолютно новая технология, а, скорее, работа над проблемами, которые имели место в RAID-5. Какие именно недостатки она исправляет? Во-первых, устраняется проблема под название "Write hole", во-вторых, в RAID-5, если была изменена лишь часть страйпа (страйп - это группа блоков, каждый из которых расположен на отдельном жестком диске), то необходимо перечитывать весь страйп для того, чтобы пересчитать его данные четности (а это наносит серьезный урон производительности). То есть, если идет запись всего страйпа целиком, то мы просто асинхронно ее выполняем на всех дисках. Если же переписывается только часть страйпа, то необходимо сначала выполнить синхронное чтение перед тем, как что-либо писать. У железных RAID-5 контроллеров это решается посредством сохранения записываемых данных в кэше на то время пока будет выполнено синхронное чтение.
Как же указанные проблемы решаются в RAID-Z? Во-первых, в ZFS RAID-Z используется динамический размер старйпа (что автоматически устраняет случай "частичной перезаписи страйпа"). Таким образом, устранение частичных записей страйпа вместе с принципом записи copy-on-write (новые данные не записываются поверх старых, а пишутся в новое место, а потом атомарно происходит переустановка указателя на новое расположение данных) полностью решают проблему "Write hole". Также, RAID-Z имеет преимущество в скорости, так как ему не нужно выполнять чтение перед записью (так как отсутствуют частичные записи страйпов).
Уход от фиксированного размера страйпа, очевидно, усложняет устройство RAID-массива, так как теперь невозможно пройти весь массив и, допустим, разбив его на блоки 64 килобайта высчитать их ключевые суммы. В связи с динамическим размером страйпа необходимо где-то хранить метаданные о размере страйпов. Что таит в себе еще одну проблему - теперь файловая система (где хранятся эти метаданные) и RAID массив представляю собой единое целое, что делает невозможным раздельную реализицию файловой системы и RAID контроллера. То есть, требуется взгляд как со стороны механики, так и со стороны логики устройства ФС.
Усложнение структуры файловой системы не может не сказаться на скорости работы. Но будет ли это приводить к замедлению? Совершенно нет, так как при синхронизации будут копироваться только блоки с данными, а пустые блоки не будут. Также стоит обратить внимание, что в ZFS блоки хешируются 256 битными ключевыми суммами, в то время как в обычном RAID используется простейший xor.
ZFS RAID-Z также обеспечивает беспрецедентный уровень защиты данных от повреждения по механическим причинам, так как защищает не только от отказа отдельного жесткого диска, но и позволяет обнаруживать отказы отдельных блоков на диске. Когда Вы считываете с RAID-Z блок он сравнивается с его ключевой суммой. Если данные не соответствуют ключевой сумме, то ZFS считывает данные о четности и пытается реконструировать данные, а также при этом выясняет, какой из дисков послужил источником проблемы и, разумеется, уведомляет об этом администратора. Таким образом, приложение запросившее данные получает корректные данные без каких-либо ошибок.
Очень важнй чертой технологии ZFS RAID-Z является то, что она не предъявляет никаких требований к аппаратной части сервера (не считая повышенных требований к оперативной памяти).
Кроме RAID-Z также существует его модификация RAID-Z2 (близка к RAID-6), которая устойчива к отказу двух жестких дисков. Кроме этого, уже существует (но пока только-только портирована во FreeBSD) версия RAID-Z3, которая выдерживает отказ до трех дисков массива.
По материалам: http://blogs.sun.com/bonwick/entry/raid_z и http://en.wikipedia.org/wiki/Non-standard_RAID_levels#RAID-Z
ZFS Deduplication во FreeBSD 8.1
Пока отсутствует, так как эта фича была реализована лишь в 21 версии ZFS (ссылка), а во FreeBSD 8.1 используется ZFS версии 14 (ссылка).
Update: фича портирована в HEAD версию FreeBSD: http://www.opennet.ru/opennews/art.shtml?num=27828
Update: фича портирована в HEAD версию FreeBSD: http://www.opennet.ru/opennews/art.shtml?num=27828
RAID-5 write hole
Если система отказывает в тот момент, когда имеются активные операции записи на диск, то данные четности и непосредственно данные могут стать несовместимыми (неконсистентными) друг с другом. Если эта проблема не будет исправлена до отказа одного из жестких дисков массива или блока жесткого диска, то данные могут быть потеряны в следствие использования некорректных данных четности для восстановления потерянных блоков в массиве. Эта проблема часто называется "Write hole". Для избежания этой проблемы используется кэш-память с резервным питанием (батареей), которая минимизирует вероятность подобного развития событий. Аналогичной проблеме подвержены RAID-6 массивы.
Оригинал:
Источник: http://en.wikipedia.org/wiki/Standard_RAID_levels
Оригинал:
In the event of a system failure while there are active writes, the parity of a stripe may become inconsistent with the data. If this is not detected and repaired before a disk or block fails, data loss may ensue as incorrect parity will be used to reconstruct the missing block in that stripe. This potential vulnerability is sometimes known as the write hole. Battery-backed cache and similar techniques are commonly used to reduce the window of opportunity for this to occur. The same issue occurs for RAID-6.
Источник: http://en.wikipedia.org/wiki/Standard_RAID_levels
Можно ли выбросить активный диск из Linux Soft-Raid?
Под активным подразумевается диск, с которого сейчас идет синхронизация на второй диск либо последний оставшийся диск в массиве.
Как видите, нельзя :)
mdadm /dev/md2 -f /dev/sda3
mdadm: set /dev/sda3 faulty in /dev/md2
mdadm /dev/md2 -r /dev/sda3
mdadm: hot remove failed for /dev/sda3: Device or resource busy
Как видите, нельзя :)
Saturday, 28 August 2010
Странные ошибки про HDD в dmesg
Имеем вот такой комплект ошибок в dmesg:
Тут проблема в том, что не указано, какой диск сбоит (sda, sdb, sdc или sdd), а лишь указано, что это "ata1.00". Как это расшифровать я пока что не знаю. Сейчас посмотрим в коде ядра и добавим :)
[1545760.918827] ata1.00: exception Emask 0x0 SAct 0xf SErr 0x0 action 0x6 frozen
[1545760.918876] ata1.00: failed command: READ FPDMA QUEUED
[1545760.918908] ata1.00: cmd 60/10:00:b7:ef:69/00:00:06:00:00/40 tag 0 ncq 8192 in
[1545760.918909] res 40/00:00:00:00:00/00:00:00:00:00/a0 Emask 0x4 (timeout)
[1545760.918997] ata1.00: status: { DRDY }
[1545760.919022] ata1.00: failed command: READ FPDMA QUEUED
[1545760.919053] ata1.00: cmd 60/08:08:ef:ef:69/00:00:06:00:00/40 tag 1 ncq 4096 in
[1545760.919054] res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
[1545760.919142] ata1.00: status: { DRDY }
[1545760.919166] ata1.00: failed command: READ FPDMA QUEUED
[1545760.919197] ata1.00: cmd 60/08:10:ef:ee:69/00:00:06:00:00/40 tag 2 ncq 4096 in
[1545760.919199] res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
[1545760.919286] ata1.00: status: { DRDY }
[1545760.919310] ata1.00: failed command: READ FPDMA QUEUED
[1545760.919341] ata1.00: cmd 60/08:18:07:ef:69/00:00:06:00:00/40 tag 3 ncq 4096 in
[1545760.919343] res 40/00:00:00:00:00/00:00:00:00:00/00 Emask 0x4 (timeout)
[1545760.919430] ata1.00: status: { DRDY }
[1545760.919459] ata1: hard resetting link
[1545761.238312] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[1545761.309374] ata1.00: configured for UDMA/133
[1545761.309403] ata1.00: device reported invalid CHS sector 0
[1545761.309431] ata1.00: device reported invalid CHS sector 0
[1545761.309458] ata1.00: device reported invalid CHS sector 0
[1545761.309486] ata1.00: device reported invalid CHS sector 0
[1545761.309520] ata1: EH complete
[1670305.969322] sd 0:0:0:0: Attached scsi generic sg0 type 0
[1670305.969365] sd 1:0:0:0: Attached scsi generic sg1 type 0
[1670305.969404] sd 4:0:0:0: Attached scsi generic sg2 type 0
[1670305.969444] sd 5:0:0:0: Attached scsi generic sg3 type 0
Тут проблема в том, что не указано, какой диск сбоит (sda, sdb, sdc или sdd), а лишь указано, что это "ata1.00". Как это расшифровать я пока что не знаю. Сейчас посмотрим в коде ядра и добавим :)
Установка Gentoo c не Gentoo LiveCD
Ага, это тоже вполне себе возможно: http://www.gentoo.org/doc/en/altinstall.xml
Friday, 27 August 2010
Вопиющий пример идиотизма
Для получения максимальных лулзов читаем цитаты внизу статьи:
http://ru.wikipedia.org/wiki/%D0%AF%D0%BA%D0%B5%D0%BC%D0%B5%D0%BD%D0%BA%D0%BE,_%D0%92%D0%B0%D1%81%D0%B8%D0%BB%D0%B8%D0%B9_%D0%93%D1%80%D0%B8%D0%B3%D0%BE%D1%80%D1%8C%D0%B5%D0%B2%D0%B8%D1%87
Как их из больницы-то выпускают? Под залог? :)
http://ru.wikipedia.org/wiki/%D0%AF%D0%BA%D0%B5%D0%BC%D0%B5%D0%BD%D0%BA%D0%BE,_%D0%92%D0%B0%D1%81%D0%B8%D0%BB%D0%B8%D0%B9_%D0%93%D1%80%D0%B8%D0%B3%D0%BE%D1%80%D1%8C%D0%B5%D0%B2%D0%B8%D1%87
Как их из больницы-то выпускают? Под залог? :)
Wednesday, 25 August 2010
ISPManager: PHP ошибка доступа
Ошибка возникает при создании сайта с поддержкой PHP (от имени root) для какого-то пользователя, у которого не активирована поддержка PHP. Чтобы избавится от проблемы, нужно пройти в раздел "Пользователи" и активировать пользователю поддержку PHP (например, в режиме "Модуль Апача").
DNSManager имеет поддержку PowerDNS
Очень удивительная новость лично для меня :) Вот ссылка: http://ru.ispdoc.com/index.php/%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_PowerDNS_c_DNSmanager
Tuesday, 24 August 2010
Хорошая статья про udev
http://www.opennet.ru/base/sys/udev_dynamic.txt.html
P.S. это одна из подсистем, принцип работы которой лично для меня остается не ясен до сих пор :)
P.S. это одна из подсистем, принцип работы которой лично для меня остается не ясен до сих пор :)
Monday, 23 August 2010
Текущее состояние системы контейнеризации jail во FreeBSD 8 и FreeBSD 8.1, а также ее перспективы
В последнее время заинтересовался состоянием развития системы контейнеризации jail во FreeBSD. В первую очередь в недавних релизах 8.0 и 8.1, но также интересно было бы ознакомиться с планируемыми нововведениями в этой подсистеме. Если Вы ранее не сталкивались с jail, то вкратце - это технология очень похожая на Linux OpenVZ, но с меньшими возможностями по изоляции (тут с OpenVZ поспорить сложно, да).
FreeBSD 8.0
Была добавлена поддержка полностью виртуализированного сетевого стека для jail инстанций. В оригинале звучит так:
FreeBSD 8.1
Тут лишь небольшое добавление в фреймворк pfill для поддержки той самой виртуализации сети. В оригинале звучит так:
FreeBSD 9.x
Согласно письму, недавно распространенному FreeBSD Foundation (10 июня 2010), они осознают всю важность подсистемы jail и планируют вывести ее на новый уровень в 9й ветке. Для этого разработчику ядра FreeBSD (Bjoern A. Zeeb) был выделен грант, который позволит довести jail до законченного решения (позволяющего полноценную изоляцию виртуальных контейнеров). Среди систем, которые планируется улучшить упоминаются SYSV, Posix IPC. Также очень большое внимание отдается отсутствию регрессий кода jail и максимально возможное снижение оверхеда, возникающего при использовании jail. Так что, технология вполне себе живет и имеет хорошие перспективы :)
Вот оригинал:
Resource Containers Project
Это также очень серьезная веха в развитии FreeBSD jail, так как этот функционал позволит лимитировать ресурсы для каждого контейнера в отдельности (память, процессор, сеть и проч.), чего ранее в jail не было. Более подробно можно прочесть вот здесь: http://freebsdfoundation.blogspot.com/2010/07/resource-containers-project.html
Update:
А вот уже и новости с полей о добавлении вирутализации сетевого стека (о чем я писал выше, это уже есть в 8.1) и других улучшениях подсистемы jail: http://freebsdfoundation.blogspot.com/2010/08/update-on-freebsd-jail-based.html, следующим шагом стоит ожидать виртуализации SYSV/POSIX IPC.
Также очень много интересной технической информации на wiki странице проекта FreeBSD jail: http://wiki.freebsd.org/Jails
FreeBSD 8.0
Была добавлена поддержка полностью виртуализированного сетевого стека для jail инстанций. В оригинале звучит так:
A new virtualization container named “vimage” has been implemented. This is a jail with a virtualized instance of the FreeBSD network stack and can be created by using jail(8) command.
FreeBSD 8.1
Тут лишь небольшое добавление в фреймворк pfill для поддержки той самой виртуализации сети. В оригинале звучит так:
The pfil(9) framework for packet filtering in FreeBSD kernel now supports separate packet filtering instances like ipfw(4) for each VIMAGE jail.
FreeBSD 9.x
Согласно письму, недавно распространенному FreeBSD Foundation (10 июня 2010), они осознают всю важность подсистемы jail и планируют вывести ее на новый уровень в 9й ветке. Для этого разработчику ядра FreeBSD (Bjoern A. Zeeb) был выделен грант, который позволит довести jail до законченного решения (позволяющего полноценную изоляцию виртуальных контейнеров). Среди систем, которые планируется улучшить упоминаются SYSV, Posix IPC. Также очень большое внимание отдается отсутствию регрессий кода jail и максимально возможное снижение оверхеда, возникающего при использовании jail. Так что, технология вполне себе живет и имеет хорошие перспективы :)
Вот оригинал:
Dear FreeBSD Community,
We are pleased to announce that Bjoern A. Zeeb has been awarded a grant
to improve FreeBSD's jail based virtualization infrastructure and to
continue to work on the virtual network stack. His employer, CK Software
GmbH is matching the Foundation's funding with hours.
FreeBSD has been well known for its jail based virtualization during the
last decade. With the import of the virtual network stack, FreeBSD's
operating system level virtualization has reached a new level.
This project includes cleanup of two years of import work and
development and, more notably, brings the infrastructure for a network
stack teardown. Cleanly shutting down a network stack in FreeBSD will be
the major challenge in the virtualization area to get the new feature to
production ready quality for the 9.x release
lifecycle.
Further, the project includes generalization of the virtual network
stack framework, factoring out common code. This will provide an
infrastructure and will ease virtualization of further subsystems like
SYSV/Posix IPC with minimal overhead. All further virtualized subsystems
will immediately benefit from shared debugging facilities, an essential
feature for early adopters of the new technology.
"Improved jail based virtualization support, that continues to be very
lightweight and as easily manageable as classic jails, will be a killer
feature for the next few years," said Bjoern A. Zeeb, FreeBSD developer.
He also added, "It will allow people to partition their FreeBSD server,
run simulations without racks of hardware, or provide thousands of
virtual instances in hosting environments fairly easy and efficiently.
While this follows the trend of green computing, it also adds to
FreeBSD's virtualization portfolio with Xen or other more heavyweight
hypervisor support, which can be mixed with jails as needed."
While work in this area will have to continue, the funding for this
project will end mid-July 2010.
Sincerely,
The FreeBSD Foundation
Resource Containers Project
Это также очень серьезная веха в развитии FreeBSD jail, так как этот функционал позволит лимитировать ресурсы для каждого контейнера в отдельности (память, процессор, сеть и проч.), чего ранее в jail не было. Более подробно можно прочесть вот здесь: http://freebsdfoundation.blogspot.com/2010/07/resource-containers-project.html
Update:
А вот уже и новости с полей о добавлении вирутализации сетевого стека (о чем я писал выше, это уже есть в 8.1) и других улучшениях подсистемы jail: http://freebsdfoundation.blogspot.com/2010/08/update-on-freebsd-jail-based.html, следующим шагом стоит ожидать виртуализации SYSV/POSIX IPC.
Также очень много интересной технической информации на wiki странице проекта FreeBSD jail: http://wiki.freebsd.org/Jails
Достаточно ли 7 лет поддержки для RHEL в наше время?
Интересное рассуждение на тему сабжа от Dag Wieers: http://dag.wieers.com/blog/is-7-years-of-rhel-support-still-sufficient
Читать в первую очередь тем, у кого в подчинении сотни и более машин с CentOS / RHEL.
Update: а вот и новость от RedHat о возможности продлить подписку еще на 3 года: http://www.opennet.ru/opennews/art.shtml?num=27678
Читать в первую очередь тем, у кого в подчинении сотни и более машин с CentOS / RHEL.
Update: а вот и новость от RedHat о возможности продлить подписку еще на 3 года: http://www.opennet.ru/opennews/art.shtml?num=27678
Отключение квот в Debian
Временами бывает, что квоты вешают сервер при загрузке (или просто тормозят загрузку после горячего ребута), поэтому, если они не нужны, то наиболее простое решение - отключить их вовсе.
Это можно сделать так (отключаем демона квот):
Также еще стоит отредактировать /etc/fstab и там также отключить квоты.
После этого потребуется перезагрузка:
Это можно сделать так (отключаем демона квот):
update-rc.d -f quota remove
Также еще стоит отредактировать /etc/fstab и там также отключить квоты.
После этого потребуется перезагрузка:
shutdown -r now
quotacheck: Your kernel probably supports journaled quota but you are not using it. Consider switching to journaled quota to avoid running quotacheck after an unclean shutdown
Что это такое? Это расширенный формат классических Linux квот с поддержкой журналирования, который призван помочь избежать долгих пересчетов всех блоков на диске при горячей перезагрузке.
Sunday, 22 August 2010
Занялся уборкой блога
Из текущих изменений:
1. Добавлено облако тегов, все старые теги удалены и произведена переустановка всех тегов для всех постов. Так что теперь возможна полноценная навигация по блогу посредством облака тегов :)
2. Добавлена удобная ссылка на добавление блога в RSS
3. Изменен дизайн (да, да! Теперь у меня новый Blogger шаблог оформления!)
4. Выбрал новый удобный редактор для записей (читателем этого не видно, фича исключительно для меня) :)
1. Добавлено облако тегов, все старые теги удалены и произведена переустановка всех тегов для всех постов. Так что теперь возможна полноценная навигация по блогу посредством облака тегов :)
2. Добавлена удобная ссылка на добавление блога в RSS
3. Изменен дизайн (да, да! Теперь у меня новый Blogger шаблог оформления!)
4. Выбрал новый удобный редактор для записей (читателем этого не видно, фича исключительно для меня) :)
Invisible Internet Project
Для тех, кто не слышал: http://ru.wikipedia.org/wiki/I2P
Friday, 20 August 2010
Быстрое удаление папки bin-tmp при использовании ISPManager
cd /var/www/username/data
yum install -y screen # или apt-get intstall -y screen
install -d -g `stat -c "%G" bin-tmp` -o `stat -c "%U" bin-tmp` -m 700 bin-tmp2
mv bin-tmp bin-tmp-old
mv bin-tmp2 bin-tmp
/etc/init.d/apache2 restart
screen
rm -rf bin-tmp-old
Thursday, 19 August 2010
Кривая кодировка в Linux консоли, как бороться?
Многие пользователи уж очень любят ставить русскую локаль в SSH, при поддержке же это выливается в постоянные проблемы с кракозяблами :) Так мало того, что машину нужно починить, так еще и кракозяблы победить нужно!
Итак, есть универсальное решение вот такой проблемы:
Мало понятного, не правда ли?
При запросе текущей локали получаем имя виновницы торжества:
А теперь узнаем, какие переменные среды за нее отвечают:
И теперь, вуаля:
Кстати, еще бывают всевозможные новомодные шелл-оболочки (придуманные, очевидно, чтобы замучать бедных ничего не делающих администраторов), которые лучше отключить вызовом привычного баша командой:
Итак, есть универсальное решение вот такой проблемы:
apt-get install locales-all
?????? ??????? ???????... ??????
?????????? ?????? ????????????
?????? ?????????? ? ?????????... ??????
??? ??????????? ????? ????? ?????? locales-all.
????????? ?????? ??????????????? ????????????? ? ?????? ?? ?????????:
libdns45 libisccc40 liblwres40 libbind9-40 libisccfg40 libisc45
??? ?? ???????? ??????????? 'apt-get autoremove'.
????????? 0, ??????????? 0 ????? ???????, ??? ???????? ???????? 0 ???????, ? 0 ??????? ?? ?????????.
?? ??????????? ?? ????? ??? ??????? 1 ???????.
????? ?????? ????????, ??ߣ? ???????? ????????? ???????????? ??????ԣ? ?? 0B.
????????????? ????? acct (6.4~pre1-6) ...
chown: ???????? ??????: `root:adm'
dpkg: ?? ??????? ?????????? ???????? acct (--configure):
?????????? post-installation script ????????? ??? ?????? 1
??? ????????? ????????? ??????? ????????? ??????:
acct
E: Sub-process /usr/bin/dpkg returned an error code (1)
Мало понятного, не правда ли?
При запросе текущей локали получаем имя виновницы торжества:
locale
LANG=ru_RU.KOI8-R
LC_CTYPE="ru_RU.KOI8-R"
LC_NUMERIC="ru_RU.KOI8-R"
LC_TIME="ru_RU.KOI8-R"
LC_COLLATE="ru_RU.KOI8-R"
LC_MONETARY="ru_RU.KOI8-R"
LC_MESSAGES="ru_RU.KOI8-R"
LC_PAPER="ru_RU.KOI8-R"
LC_NAME="ru_RU.KOI8-R"
LC_ADDRESS="ru_RU.KOI8-R"
LC_TELEPHONE="ru_RU.KOI8-R"
LC_MEASUREMENT="ru_RU.KOI8-R"
LC_IDENTIFICATION="ru_RU.KOI8-R"
LC_ALL=ru_RU.KOI8-R
А теперь узнаем, какие переменные среды за нее отвечают:
env | grep KOI
LC_ALL=ru_RU.KOI8-R
LANG=ru_RU.KOI8-R
И теперь, вуаля:
LANG=C LC_ALL=C apt-get install locales-all
Reading package lists... Done
Building dependency tree
Reading state information... Done
locales-all is already the newest version.
The following packages were automatically installed and are no longer required:
libdns45 libisccc40 liblwres40 libbind9-40 libisccfg40 libisc45
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0B of additional disk space will be used.
Setting up acct (6.4~pre1-6) ...
chown: invalid group: `root:adm'
dpkg: error processing acct (--configure):
subprocess post-installation script returned error exit status 1
Errors were encountered while processing:
acct
E: Sub-process /usr/bin/dpkg returned an error code (1)
Кстати, еще бывают всевозможные новомодные шелл-оболочки (придуманные, очевидно, чтобы замучать бедных ничего не делающих администраторов), которые лучше отключить вызовом привычного баша командой:
bash
Wednesday, 18 August 2010
[emerg] 3728#0: could not build the server_names_hash, you should increase server_names_hash_bucket_size: 32
Чтобы исправить, делаем следующее:
После этого в блок http { } в самый его верх добавляем следующее:
Перезапускаем Nginx:
Вуаля :)
Подробнее: http://wiki.nginx.org/NginxHttpCoreModule#server_names_hash_bucket_size
vi /etc/nginx/nginx.conf
После этого в блок http { } в самый его верх добавляем следующее:
server_names_hash_bucket_size 512;
Перезапускаем Nginx:
/etc/init.d/nginx restart
Вуаля :)
Подробнее: http://wiki.nginx.org/NginxHttpCoreModule#server_names_hash_bucket_size
OpenVZ, ошибка при миграции конетйнера. Error: Most probably some iptables modules are not loaded
Вот такой текст при вызове vzmigrate:
Проблема вызвана тем, что не все модули iptables из тех, что доступны контейнеру, присутствуют на target машине (на которую осуществляется перенос). Как решение - вырубить все iptables модули на время переноса, а потом включить, что потребуется (а обычно они не требуются).
Setting devices
Error: undump failedStopping container ...
: Invalid argument
Restoring failed:
Error: iptables-restore exited with 2
Error: Most probably some iptables modules are not loaded
Error: rst_restore_net: -22
Container start failed
Container was stopped
Container is unmounted
Error: Failed to undump container
Resuming...
vzquota : (error) Quota is not running for id 3722
Проблема вызвана тем, что не все модули iptables из тех, что доступны контейнеру, присутствуют на target машине (на которую осуществляется перенос). Как решение - вырубить все iptables модули на время переноса, а потом включить, что потребуется (а обычно они не требуются).
Tuesday, 17 August 2010
Анализ естественного языка в ЖЖ
Как ни странно, но сообщество ЖЖ, посвященное анализу естественного языка забито сплошь профессионалами сабжевой профессии - спамерами: http://community.livejournal.com/ru_compling/ Очень редко встретишь столько профессионалов и в одном месте :)
Monday, 16 August 2010
FastCGI vs SCGI
Очень здравое сравнение протоколов http://utcc.utoronto.ca/~cks/space/blog/programming/SCGIvsFastCGI
Как запретить само-регистрацию юзеров в Mantis?
Открываем конфиг:
И добавляем в самый низ до закрывающегося тега:
После этого функция "Зарегистрироваться самостоятельно" пропадет в принципе.
vi config_inc.php
И добавляем в самый низ до закрывающегося тега:
$g_allow_signup = OFF;
После этого функция "Зарегистрироваться самостоятельно" пропадет в принципе.
Серьезная проблема безопасности в стандартной конфигурации Mantis
Mantis имеет две неприятные фичи - вновь созданный проект стандартно становится публичным, а регистрация пользователей доступна в автоматическом режиме. То есть, если Вы нечаянно сделали свои проекты public (Manage projects - View Status - Public) и не залочили автоматическую регистрацию юзеров (это можно сделать вот так), то любой зарегившийся увидит все Ваши сакральные тикеты. Прекрасно, не правда ли?
Sunday, 15 August 2010
Установка Microsoft Hyper-V на NHS-1, NHS-2, NHS-3, NHS-24 от Fastvps.ru
При его использовании на FastVPS есть особенность - сеть не будет корректно работать, если для всех дополнительных IP не заказать MAC адреса. Сделать это можно в нашей поддержке :)
При этом проблем со встроенной сетевой картой, как правило, не возникает.
При этом проблем со встроенной сетевой картой, как правило, не возникает.
О важности страхования
Если Вы считаете, что страхование - бесполезный процесс и развод на деньги, прочтите эту заметку пожалуйста, гарантирую, она изменит Ваш взгляд на страхование навсегда: http://strahovkablog.ru/?p=453&utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+strahovkablog+(StrahovkaBlog.ru)
Saturday, 14 August 2010
EXT3-fs warning (device md2): ext3_dx_add_entry: Directory index full!
Такая красота вызвана тем, что превышено максимальное число файлов в папке, допустимое для файловой системы ext3.
При этом на машине дела с айнодами обстоят так (прошу не смущаться цифре в 100%, айноды свободные есть):
Более подробно:
Как решить проблему? Найти папки, где произошло данное событие и удалить из них файлы.
http://kerneltrap.org/mailarchive/linux-kernel/2008/5/18/1865234
При этом на машине дела с айнодами обстоят так (прошу не смущаться цифре в 100%, айноды свободные есть):
df -i
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/md2 19144704 18994479 150225 100% /
tmpfs 506008 7 506001 1% /lib/init/rw
udev 506008 1232 504776 1% /dev
tmpfs 506008 1 506007 1% /dev/shm
/dev/md1 131648 44 131604 1% /boot
Более подробно:
Using a filesystem with 4k blocks, and assuming the filenames are of
the same average length, you should be able to get approximately 200k
* (4**3) = 12.8 million files in a single directory. If you use a 2k
block filesystem, the limit will be approximately 200k * (2**3) = 1.6
million files in a single directory.
Как решить проблему? Найти папки, где произошло данное событие и удалить из них файлы.
http://kerneltrap.org/mailarchive/linux-kernel/2008/5/18/1865234
Friday, 13 August 2010
Как подключить к RDP сессии из Linux?
rdesktop server.hostname.ru -p qwerty -u Administrator
Тестирование памяти в Linux
Как протестовать память в Linux? Утилитой memtester, memtest86+ же не подходит по причине отсутствия физического доступа к машине.
Устанавливаем в CentOS:
Устанавливаем в Debian:
Запускаем:
Устанавливаем в CentOS:
yum install -y memtester
Устанавливаем в Debian:
apt-get install -y memtester
Запускаем:
memtester 1024 1
# 1024 -- размер выделяемого блока памяти в мегабайтах (его нужно брать из расчета свободной памяти на машине, top и поле "free"), 1 -- число повторений
Хм, как бы то ни было странно, но Linux Soft Raid-1 можно сделать на более чем двух дисках :)
Например, для трех все будет выглядеть так:
Рекомендуется всем с врожденной боязнью за свои данные :)
mdadm --detail /dev/md0
/dev/md0:
Version : 00.90
Creation Time : Thu Jan 14 10:02:29 2010
Raid Level : raid1
Array Size : 4200896 (4.01 GiB 4.30 GB)
Used Dev Size : 4200896 (4.01 GiB 4.30 GB)
Raid Devices : 3
Total Devices : 3
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Fri Aug 13 13:10:35 2010
State : clean
Active Devices : 3
Working Devices : 3
Failed Devices : 0
Spare Devices : 0
UUID : 277ac32f:2e3f0881:776c2c25:004bd7b2 (local to host rescue)
Events : 0.70
Number Major Minor RaidDevice State
0 8 1 0 active sync /dev/sda1
1 8 17 1 active sync /dev/sdb1
2 8 33 2 active sync /dev/sdc1
Рекомендуется всем с врожденной боязнью за свои данные :)
CPU1: Temperature above threshold, cpu clock throttled
Заметил в dmesg вот такую красоту:
Это намекает на проблемы с охлаждением. Стоит проверить температуру компонентов: http://phpsuxx.blogspot.com/2009/12/centos-5_14.html
CPU2: Temperature/speed normal
CPU0: Temperature/speed normal
CPU4: Temperature/speed normal
CPU7: Temperature/speed normal
CPU6: Temperature/speed normal
CPU3: Temperature/speed normal
CPU5: Temperature above threshold, cpu clock throttled
CPU1: Temperature above threshold, cpu clock throttled
Это намекает на проблемы с охлаждением. Стоит проверить температуру компонентов: http://phpsuxx.blogspot.com/2009/12/centos-5_14.html
Wednesday, 11 August 2010
Монтирование удаленного ssh сервера как файловой системы в Debian
Ставим:
Создаем точку монтирование и монтируем:
Отмонтируем:
Вот и все :)
apt-get install -y sshfs
Создаем точку монтирование и монтируем:
mkdir /ssh
sshfs root@ip.ad.dr.es/: /ssh/
Отмонтируем:
fusermount -u /ssh/
Вот и все :)
Сброс пароля на Windows 2008 Web / Standard Edition посредством Linux LiveCD
ВНИМАНИЕ! ИСПОЛЬЗОВАНИЕ ДАННОГО МАНУАЛА МОЖЕТ ПРИВЕСТИ К ПОТЕРИ ДАННЫХ И НЕРАБОТОСПОСОБНОСТИ ОС СЕРВЕРА!!!
ВНИМАНИЕ!!! ИНСТРУКЦИЯ НЕ ТРЕСТИРОВАЛАСЬ!!!
Возможен посредством вот этой тулзы:
http://pogostick.net/~pnh/ntpasswd/
Для Дебияна:
Скачиваем сборку с офсайта (в репозитории старая и некорректно работающая с 2008 версия):
Далее просматриваем таблицу разделов:
И монтируем диск:
Переходим в системную папку:
Запрашиваем список имеющихся юзеров:
Генерируем новый пароль:
Меняем пароль:
На первом шаге нажимаем 2, потом указываем пароль, потом нажимаем y и соглашаемся с изменением.
Это выглядеть будет так:
Потом перезагружаемся в Windows:
Ну и да... у меян не сработало, я нечаянно сбросил пароль на пустой и тем самым сильно облома себе счастье.
Источник: http://www.howtogeek.com/howto/windows-vista/change-your-forgotten-windows-password-with-the-linux-system-rescue-cd/
ВНИМАНИЕ!!! ИНСТРУКЦИЯ НЕ ТРЕСТИРОВАЛАСЬ!!!
Возможен посредством вот этой тулзы:
http://pogostick.net/~pnh/ntpasswd/
Для Дебияна:
apt-get install -y ntfs-3g pwgen
Скачиваем сборку с офсайта (в репозитории старая и некорректно работающая с 2008 версия):
apt-get install unzip
mkdir /opt/chntpw
cd /opt/chntpw
wget http://pogostick.net/~pnh/ntpasswd/chntpw-source-100627.zip
unzip chntpw-source-100627.zip
rm chntpw-source-100627.zip
mv chntpw-100627/* ./
rm -r chntpw-100627
Далее просматриваем таблицу разделов:
fdisk -l
И монтируем диск:
mount -t ntfs-3g /dev/sda1 /mnt -o force
Переходим в системную папку:
cd /mnt/Windows/System32/config
Запрашиваем список имеющихся юзеров:
/opt/chntpw/chntpw.static -l SAM
Генерируем новый пароль:
pwgen 8 1
Меняем пароль:
/opt/chntpw/chntpw.static -u Administrator SAM
На первом шаге нажимаем 2, потом указываем пароль, потом нажимаем y и соглашаемся с изменением.
Это выглядеть будет так:
/opt/chntpw/chntpw.static -u Administrator SAM
chntpw version 0.99.6 100627 (vacation), (c) Petter N Hagen
Hivename (from header): <\SystemRoot\System32\Config\SAM>
ROOT KEY at offset: 0x001020 * Subkey indexing type is: 666c
Page at 0x8000 is not 'hbin', assuming file contains garbage at end
File size 262144 [40000] bytes, containing 7 pages (+ 1 headerpage)
Used for data: 247/20456 blocks/bytes, unused: 25/7992 blocks/bytes.
* SAM policy limits:
Failed logins before lockout is: 0
Minimum password length : 0
Password history count : 0
| RID -|---------- Username ------------| Admin? |- Lock? --|
| 01f4 | Administrator | ADMIN | dis/lock |
| 01f5 | Guest | | dis/lock |
---------------------> SYSKEY CHECK <----------------------- SYSTEM SecureBoot : -1 -> Not Set (not installed, good!)
SAM Account\F : 0 -> off
SECURITY PolSecretEncryptionKey: -1 -> Not Set (OK if this is NT4)
Syskey not installed!
RID : 0500 [01f4]
Username: Administrator
fullname:
comment : Built-in account for administering the computer/domain
homedir :
User is member of 1 groups:
00000220 = Administrators (which has 1 members)
Account bits: 0x0010 =
[ ] Disabled | [ ] Homedir req. | [ ] Passwd not req. |
[ ] Temp. duplicate | [X] Normal account | [ ] NMS account |
[ ] Domain trust ac | [ ] Wks trust act. | [ ] Srv trust act |
[ ] Pwd don't expir | [ ] Auto lockout | [ ] (unknown 0x08) |
[ ] (unknown 0x10) | [ ] (unknown 0x20) | [ ] (unknown 0x40) |
Failed login count: 5, while max tries is: 0
Total login count: 8
- - - - User Edit Menu:
1 - Clear (blank) user password
2 - Edit (set new) user password (careful with this on XP or Vista)
3 - Promote user (make user an administrator)
4 - Unlock and enable user account [probably locked now]
q - Quit editing user, back to user select
Select: [q] > 2
New Password: newpasswd
Password changed!
Hives that have changed:
# Name
0
Write hive files? (y/n) [n] : y
0- OK
Потом перезагружаемся в Windows:
cd
umount /mnt
shutdown -r now
Ну и да... у меян не сработало, я нечаянно сбросил пароль на пустой и тем самым сильно облома себе счастье.
Источник: http://www.howtogeek.com/howto/windows-vista/change-your-forgotten-windows-password-with-the-linux-system-rescue-cd/
Tuesday, 10 August 2010
-bash: /bin/rm: Argument list too long
Эта ошибка выдается при попытке удалить все файлы в папке с очень большим числом файлов:
Но есть обходной путь решения этой проблемы:
При таком подходе файлы будут поступать на вход rm по 500 штук и все быстро удалится.
rm * -f
Но есть обходной путь решения этой проблемы:
find | xargs --no-run-if-empty -n 500 rm -f
При таком подходе файлы будут поступать на вход rm по 500 штук и все быстро удалится.
Monday, 9 August 2010
Как полностью рекурсивно скачать удаленный ftp сервер?
Посредством ftp клиента lftp!
Ставим его и screen:
Запускаем screen (так как иначе выгрузка отвалится, если мы отключимся от машины):
Создаем папку, куда будем класть скаченные файлы:
Запускаем lftp:
Даем команду на загрузку всего ftp (либо можете указать mirro имя_папки, если требуется только одна папка):
Все, теперь ждем, пока все файлы будут слиты :)
Источник: http://bethesignal.org/blog/2008/12/04/recursive-get-with-lftp/
Ставим его и screen:
apt-get install -y lftp screen
Запускаем screen (так как иначе выгрузка отвалится, если мы отключимся от машины):
screen
Создаем папку, куда будем класть скаченные файлы:
mkdir /opt/mirror
cd /opt/mirror
Запускаем lftp:
lftp логин@сервер
Даем команду на загрузку всего ftp (либо можете указать mirro имя_папки, если требуется только одна папка):
mirror /
Все, теперь ждем, пока все файлы будут слиты :)
Источник: http://bethesignal.org/blog/2008/12/04/recursive-get-with-lftp/
Новый экстеншен к ISPManager
Easy way to change MX for domain to Google, Yandex, Rambler, Pochta. Required Python >= 2.5
Весьма полезно :)
Как установить FreeBSD на FastVPS.ru ?
Для начала стоит оговориться, что без проблемная установка FreeBSD возможна только на сервера NHS-1, 2, 3, 24.
1. Заходите в панель Robot
2. Выбираете FreeBSD 64 bit, если требуется 64 битная ОС (более 3 гб памяти) либо FreeBSD 32 bit, если требуется 32 битная ОС.
3. Выбираете Activate Rescue System и записываете где-либо выданный пароль
4. Если сервер доступен по ssh - презагружаете его командой shutdown -r now если же недоступен идете в Роботе на вкладку: Reset и выбираете "Execute a automatic hardware-reset"
5. После этого подключаетесь к серверу по ssh и запускаете команду installimage
6.
Выбор версии ОС
Далее выбираете FreeBSD 7.3 или FreeBSD 8.1. Мы рекомендуем 8.1.
Выбор битности
Далее выбираете битность, если более 3гб памяти, то 64, иначе 32.
Настройка RAID
Далее появится окошко настройки RAID, если желаете, чтобы оба диска были в RAID-1 (зеркало), то ставим крестики посредством пробела около каждого из двух дисков (если у Вас их три, то выбирайте только первые два). После этого щелкаем ок.
Выбор файловой системы
Далее предлагается файловая система - UFS или ZFS. Мы рекомендуем проверенную временем UFS.
Выбор размере файла подкачки
Достаточно 4 гигабайт.
Указание хостнейма и пароля
Потом вводим хостнейм (например, freebsd.fastvps.ru) и желаемый пароль.
Уведомление об уничтожении всех данных
Соглашаемся с форматированием обоих дисков и откидываемся на спинку стула :)
После окончания установки (она занимает около 10-15 минут) требуется перезагрузить машину командой
1. Заходите в панель Robot
2. Выбираете FreeBSD 64 bit, если требуется 64 битная ОС (более 3 гб памяти) либо FreeBSD 32 bit, если требуется 32 битная ОС.
3. Выбираете Activate Rescue System и записываете где-либо выданный пароль
4. Если сервер доступен по ssh - презагружаете его командой shutdown -r now если же недоступен идете в Роботе на вкладку: Reset и выбираете "Execute a automatic hardware-reset"
5. После этого подключаетесь к серверу по ssh и запускаете команду installimage
6.
Выбор версии ОС
Далее выбираете FreeBSD 7.3 или FreeBSD 8.1. Мы рекомендуем 8.1.
Выбор битности
Далее выбираете битность, если более 3гб памяти, то 64, иначе 32.
Настройка RAID
Далее появится окошко настройки RAID, если желаете, чтобы оба диска были в RAID-1 (зеркало), то ставим крестики посредством пробела около каждого из двух дисков (если у Вас их три, то выбирайте только первые два). После этого щелкаем ок.
Выбор файловой системы
Далее предлагается файловая система - UFS или ZFS. Мы рекомендуем проверенную временем UFS.
Выбор размере файла подкачки
Достаточно 4 гигабайт.
Указание хостнейма и пароля
Потом вводим хостнейм (например, freebsd.fastvps.ru) и желаемый пароль.
Уведомление об уничтожении всех данных
Соглашаемся с форматированием обоих дисков и откидываемся на спинку стула :)
После окончания установки (она занимает около 10-15 минут) требуется перезагрузить машину командой
shutdown -r nowи после этого можно приступать к работе!
Установка XenServer 5.0 на сервера FastVPS.ru
Для корректной работы сети для всех дополнительных IP требуется взять MAC адреса, инчае все будет работать очень плохо. Но я бы не рекомендовал это решение, все равно проблем довольно много с ним.
Puppet, OpenVZ + отстающее или убегающее время
Подобная связка факторов может привести к неожиданным проблемам с Puppet, в частности он может просто отказываться авторизироваться (сброс на SSL шаге) или выдавать очень необычные ошибки. Так что будьте в курсе.
Также стоит следить за тем, чтобы время как на клиенте, так и на сервере было точным. Это тоже избавит еще от целого вороха проблем.
Также стоит следить за тем, чтобы время как на клиенте, так и на сервере было точным. Это тоже избавит еще от целого вороха проблем.
Установка VmWare ESXi 4.0 на NHS-1, NHS-2, NHS-3, NHS-24 от fastvps.ru
Стандартно, к сожалению, невозможна. Выдается ошибка - "No compatible network adapter found. Please consult the product's Hardware Compatibility Guide (HCG) fro a list of supported adapters."
И поэтому нужно ставить адаптер Intel e1000, это платно - 35 евро единоразово + 15 евро / месяц ( flexi pack ).
Также для корректной работы сети, необходимо для всех дополнительных IP запросить MAC адреса, иначе сеть работать корректно не будет.
Да и в целом, заставить эту софтину работать корректно - стоит многого, мы не рекомендуем.
И поэтому нужно ставить адаптер Intel e1000, это платно - 35 евро единоразово + 15 евро / месяц ( flexi pack ).
Также для корректной работы сети, необходимо для всех дополнительных IP запросить MAC адреса, иначе сеть работать корректно не будет.
Да и в целом, заставить эту софтину работать корректно - стоит многого, мы не рекомендуем.
Sunday, 8 August 2010
Установка Rsync сервера на CentOS Linux
По мотивам статьи http://phpsuxx.blogspot.com/2010/04/rsync.html решил написать мануал по установке rsync сервера и для CentOS.
Ставим xinetd (необходим для запуска rsync сервера):
Ставим сам rsync:
Открываем конфиг rsync для xinetd:
И заменяем в конфиге:
на
Применяем настройки xinetd:
Добавляем xinetd в автозапуск:
Убеждаемся, что теперь xinetd слушает порт rsync:
Далеее создаем конфиг /etc/rsyncd.conf по аналогии с мануалом http://phpsuxx.blogspot.com/2010/04/rsync.html, но указываем немного другие имена групп:
После чего применяем изменения:
Все, настройка закончена :) Базовые операции с rsync можете просмотреть в статье, ссылку на которую я привел выше.
Источник: http://am3n.profusehost.net/index.php?id=70
Ставим xinetd (необходим для запуска rsync сервера):
yum install -y xinetd
Ставим сам rsync:
yum install -y rsync
Открываем конфиг rsync для xinetd:
vi /etc/xinetd.d/rsync
И заменяем в конфиге:
disable = yes
на
disable = no
Применяем настройки xinetd:
/etc/init.d/xinetd restart
Добавляем xinetd в автозапуск:
chkconfig xinetd on
Убеждаемся, что теперь xinetd слушает порт rsync:
netstat -lnpt | grep 873
tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 7721/xinetd
Далеее создаем конфиг /etc/rsyncd.conf по аналогии с мануалом http://phpsuxx.blogspot.com/2010/04/rsync.html, но указываем немного другие имена групп:
uid = nobody
gid = nobody
После чего применяем изменения:
/etc/init.d/xinetd restart
Все, настройка закончена :) Базовые операции с rsync можете просмотреть в статье, ссылку на которую я привел выше.
Источник: http://am3n.profusehost.net/index.php?id=70
Saturday, 7 August 2010
Установка Rsync сервера на Debian 6 Squeeze Linux через init.d
Ставим rsync:
Если есть желание составить конфиг самому, то вот пример:
В противном случае, создаем файл конфига:
И вносим туда следующие строки:
filearchive представляет собой один из ресурсов, который будет доступен по протоколу rsync, это своего рода виртуальная папка, список доступных ресурсов можно просмотреть при подключении к rsync серверу.
Теперь создаем папку для хранения файлов, которые будем раздавать по rsync протоколу:
Ради примера зальем туда небольшой tar.gz архив:
Настройка через /etc/init.d (рекомендуется)
Открываем конфиг:
Корректируем там:
Запускаем:
Убеждаемся, что запустились:
Не стоит пугаться тому, что rsync работает от имени рута, при подключении клиентов они форкаются с заданными правами (nobody 20248):
Проверяем, слушается ли порт:
Настройка через inet.d (не рекомендуется)
Ставим inetd демон:
Добавляем rsync в конфиг inetd (результат работы команды можно наблюдать в /etc/inetd.conf):
Перезапускаем inetd:
Убеждаемся, что все хорошо и что inetd слушает 873й порт (порт rsync):
Тестирование
Теперь с удаленной машины либо локально делаем запрос листинга "хранилищ" rsync:
Это означает, что все хорошо и мы получили список, состоящий из нашего единственного ресурса.
Попробуем теперь получить список файлов ресурса filearchive:
И, наконец, попробуем выполнить синхронизацию файла с удаленного ресурса filearchive с локальной папкой:
В результате получим файл в требуемой папке:
Но это еще не все! Если повторить предыдущую команду еще раз, то файл не будет скачен повторно, так как rsync выясняет, что файл не был изменен и его не нужно переливать повторно:
Также можно выгрузить ресурс целиком:
Вот результат:
Но тут надо быть аккуратнее, так как rsync может за компанию изменит права и самой папке /root/archivecopy, тут я не уверен в его поведении.
http://www.togaware.com/linux/survivor/Rsync_Server.html
apt-get install -y rsync
Если есть желание составить конфиг самому, то вот пример:
vi /usr/share/doc/rsync/examples/rsyncd.conf
В противном случае, создаем файл конфига:
vi /etc/rsyncd.conf
И вносим туда следующие строки:
# Global config
# pid file=/var/run/rsyncd.pid
[filearchive]
comment = Rsync file storage
path = /var/www/rsync
use chroot = yes
lock file = /var/lock/rsyncd
read only = yes
list = yes
uid = nobody
gid = nogroup
strict modes = yes
ignore errors = no
timeout = 600
transfer logging = yes
dont compress = *.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz
filearchive представляет собой один из ресурсов, который будет доступен по протоколу rsync, это своего рода виртуальная папка, список доступных ресурсов можно просмотреть при подключении к rsync серверу.
Теперь создаем папку для хранения файлов, которые будем раздавать по rsync протоколу:
mkdir /var/www/rsync
Ради примера зальем туда небольшой tar.gz архив:
wget -P /var/www/rsync http://download.openvz.org/template/precreated/debian-6.0-x86_64.tar.gz
Настройка через /etc/init.d (рекомендуется)
Открываем конфиг:
vim /etc/default/rsync
Корректируем там:
RSYNC_ENABLE=false
Запускаем:
/etc/init.d/rsync start
Убеждаемся, что запустились:
ps aux |grep rsync
root 19542 0.0 0.0 2168 836 ? S 02:27 0:00 /usr/bin/rsync --no-detach --daemon --config /etc/rsyncd.conf
root 19553 0.0 0.0 1780 584 pts/0 S+ 02:27 0:00 grep rsync
Не стоит пугаться тому, что rsync работает от имени рута, при подключении клиентов они форкаются с заданными правами (nobody 20248):
ps aux|grep rsy
root 11901 0.5 0.0 35512 1864 ? Sl Mar29 2:17 /usr/sbin/rsyslogd -c4
root 19989 0.0 0.0 2168 832 ? S 02:37 0:00 /usr/bin/rsync --no-detach --daemon --config /etc/rsyncd.conf
nobody 20248 4.4 0.0 3576 1900 ? S 02:42 0:00 /usr/bin/rsync --no-detach --daemon --config /etc/rsyncd.conf
root 20256 0.0 0.0 1780 584 pts/0 S+ 02:42 0:00 grep rsy
Проверяем, слушается ли порт:
netstat -lnpt |grep 873
tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 19608/rsync
tcp6 0 0 :::873 :::* LISTEN 19608/rsync
Настройка через inet.d (не рекомендуется)
Ставим inetd демон:
apt-get install -y openbsd-inetd
Добавляем rsync в конфиг inetd (результат работы команды можно наблюдать в /etc/inetd.conf):
update-inetd --add 'rsync stream tcp nowait root /usr/bin/rsync rsyncd --daemon'
Перезапускаем inetd:
/etc/init.d/openbsd-inetd restart
Убеждаемся, что все хорошо и что inetd слушает 873й порт (порт rsync):
netstat -lnpt | grep inetd
tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 11880/inetd
Тестирование
Теперь с удаленной машины либо локально делаем запрос листинга "хранилищ" rsync:
rsync localhost::
filearchive Rsync file storage
Это означает, что все хорошо и мы получили список, состоящий из нашего единственного ресурса.
Попробуем теперь получить список файлов ресурса filearchive:
rsync xx.xx.xx.xx::filearchive
drwxr-xr-x 4096 2010/08/08 03:54:38 .
-rw-r--r-- 140180113 2010/07/10 07:59:47 debian-5.0-x86_64.tar.gz
И, наконец, попробуем выполнить синхронизацию файла с удаленного ресурса filearchive с локальной папкой:
mkdir /root/archivecopy
rsync --progress xx.xx.xx.xx::filearchive/debian-5.0-x86_64.tar.gz /root/archivecopy
В результате получим файл в требуемой папке:
ls -la /root/archivecopy
total 134M
drwxr-xr-x 2 root root 4.0K 2010-08-08 04:02 .
drwxr-xr-x 16 root root 4.0K 2010-08-08 03:58 ..
-rw-r--r-- 1 root root 134M 2010-08-08 04:02 debian-5.0-x86_64.tar.gz
Но это еще не все! Если повторить предыдущую команду еще раз, то файл не будет скачен повторно, так как rsync выясняет, что файл не был изменен и его не нужно переливать повторно:
140180113 100% 116.55MB/s 0:00:01 (xfer#1, to-check=0/1)
sent 82988 bytes received 47504 bytes 52196.80 bytes/sec
total size is 140180113 speedup is 1074.24
Также можно выгрузить ресурс целиком:
rm -rf /root/archivecopy
mkdir /root/archivecopy
rsync -av xx.xx.xx.xx::filearchive /root/archivecopy
Вот результат:
ls -la /root/archivecopy
total 134M
drwxr-xr-x 2 root root 4.0K 2010-08-08 03:54 .
drwxr-xr-x 16 root root 4.0K 2010-08-08 04:09 ..
-rw-r--r-- 1 root root 134M 2010-07-10 07:59 debian-5.0-x86_64.tar.gz
Но тут надо быть аккуратнее, так как rsync может за компанию изменит права и самой папке /root/archivecopy, тут я не уверен в его поведении.
http://www.togaware.com/linux/survivor/Rsync_Server.html
Ritz-Carlton Central Park
http://sergeydolya.livejournal.com/196492.html
А вот он же на Букинг.ком: http://www.booking.com/hotel/us/the-ritz-carlton-new-york-central-park.html
А вот он же на Букинг.ком: http://www.booking.com/hotel/us/the-ritz-carlton-new-york-central-park.html
Thursday, 5 August 2010
ISPManager:При cookie-аутентификации, в конфигурационном файле необходимо задать парольную фразу установив значение директивы $cfg['blowfish_secret'].
Фикс: идем в возможности и выключаем / включаем phpmyadmin.
Либо вот так:
Либо вот так:
/usr/local/ispmgr/sbin/pkgctl activate myadmin
И кому будет нужна вся эта Ваша нефть через 20 лет?
На CrunchGear тест-драйв нового Nissan Leaf, четырехдверного компакта с полностью электрическим двигателем. $33,000 новая, плюс в США есть правительственная программа, позволяющая получить обратно до $7,500 (списанных с налогов) в случае покупки электрической машины, итого удовольствие за $25,500. Одного заряда батареи хватает на 150 км, итого Nissan позиционирует машину как инструмент для поездки на работу.
http://moskalyuk.name/2912
Критическая уязвимость в PhpMyAdmin и работающий эксплоит на нее
По проверенной информации, для PhpMyAdmin имеется эксплоит, позволяющий взломать сервер, как физический, так и виртуальный. Он уже используется как минимум пару дней и как результат его действий может быть наличие файлов /tmp/vm.c и /tmp/dd_ssh, являющихся зловредным ПО. Поэтому требуется в срочном порядке обновить PhpMyAdmin.
Инструкция по обновлению на Debian
Вот репорт об этой проблем от Debian Security Team:
http://www.debian.org/security/2010/dsa-2034
До обновления проверьте используемую версию Debian:
Если цифры 5.0.*, то у Вас Lenny и продолжайте читать инструкцию. Если же 4.0.*, то стоит прибегнуть к услугам сторонних администраторов (либо нашей поддержки), чтобы они обновили систему до Lenny.
Для обновления PhpMyAdmin на Debian 5 Lenny сделайте следующее:
Если же Вы обладаете навыками администрирования, то лучше обновите всю систему целиком:
Инструкция по обновлению на CentOS
Сначала нужно подключить Epel репозиторий, это делается по инструкции: http://phpsuxx.blogspot.com/2009/03/centos-rhel.html
Либо в идеале, если есть навыки администрирования, то обновляем всю систему:
Уважаемые клиенты FastVPS! Если у Вас возникнут проблемы с обновлением, пишите в саппорт, мы все можем сделать за Вас!
Гарантированно уязвимые версии:
Также, если использовался конфиг PhpMyAdmin от ISPManager, то при входе в PhpMyAdmin после апдейта может выдаваться ошибка:
Исправлять ее так: http://phpsuxx.blogspot.com/2010/08/ispmanager-cookie-cfgblowfishsecret.html
Еще тема с обсуждением: http://habrahabr.ru/blogs/infosecurity/101110/
Инструкция по обновлению на Debian
Вот репорт об этой проблем от Debian Security Team:
http://www.debian.org/security/2010/dsa-2034
До обновления проверьте используемую версию Debian:
cat /etc/debian_version
5.0.5
Если цифры 5.0.*, то у Вас Lenny и продолжайте читать инструкцию. Если же 4.0.*, то стоит прибегнуть к услугам сторонних администраторов (либо нашей поддержки), чтобы они обновили систему до Lenny.
Для обновления PhpMyAdmin на Debian 5 Lenny сделайте следующее:
apt-get update;
apt-get upgrade -y phpmyadmin;
Если же Вы обладаете навыками администрирования, то лучше обновите всю систему целиком:
apt-get upgrade -y;
Инструкция по обновлению на CentOS
Сначала нужно подключить Epel репозиторий, это делается по инструкции: http://phpsuxx.blogspot.com/2009/03/centos-rhel.html
yum upgrade -y phpmyadmin;
Либо в идеале, если есть навыки администрирования, то обновляем всю систему:
yum update -y;
Уважаемые клиенты FastVPS! Если у Вас возникнут проблемы с обновлением, пишите в саппорт, мы все можем сделать за Вас!
Гарантированно уязвимые версии:
ii phpmyadmin 4:2.11.8.1-5+lenny3 MySQL web administration tool
ii phpmyadmin 4:2.11.8.1-5+lenny1 MySQL web administration tool
Также, если использовался конфиг PhpMyAdmin от ISPManager, то при входе в PhpMyAdmin после апдейта может выдаваться ошибка:
При cookie-аутентификации, в конфигурационном файле необходимо задать парольную фразу установив значение директивы $cfg['blowfish_secret']
Исправлять ее так: http://phpsuxx.blogspot.com/2010/08/ispmanager-cookie-cfgblowfishsecret.html
Еще тема с обсуждением: http://habrahabr.ru/blogs/infosecurity/101110/
Если я добавлю два MX с одинаковыми приоритетами, то письмо упадет на оба сервера?
Нет, это не так. Никакой почтовый сервер никогда не будет заниматься тем, что дублировать исходящие письма. Отказоустойчивость работы почтовой системы обеспечивается иначе - прописывается два MX, один с большим приоритетом, другой с меньшим. Если основной (у которого цифра меньше) недоступен по тем или иным причинам, то почтовый сервер отправителя подключается на второй MX и отправит письмо на него. То есть, иными словами, письмо упадет на другой сервер. Таким образом, для "удобной" отказоустойчивость кроме двух внешних серверов (их часто называют релеями, 'relay'), нужно предусмотреть отказоустойчивую систему хранения и доступа к письмам.
Если же так сильно требуется отказоустойчивость, воспользуйтесь сервисами Google для домена, это намного проще.
Если же так сильно требуется отказоустойчивость, воспользуйтесь сервисами Google для домена, это намного проще.
Wednesday, 4 August 2010
RedMine: Subversion репо с доступом по https и ошибка "The entry or revision was not found in the repository"
А в логах:
Проблема вызвана тем, что сертификат https коннекта к репо самоподписной.
Создадим новую папку для конфига svn:
А также немного подправим логику работы RedMine:
И на строке заменяем:
на:
Теперь входим под юзером redmine и делаем чекаут:
И при предложении принять сертификат щелкаем p и получаем чекаут.
Теперь перезапускаем апача:
И после этого идем во вкладку Repository в RedMine и через несколько секунд получаем репозиторий :)
Line:
Position:
Last 80 unconsumed characters:
Output was:
?xml version="1.0"?
list
list
path="https://svn.domain.ru/repo"
Rendering template within layouts/base
Completed in 1648ms (View: 40, DB: 36) | 500 Internal Server Error [http://redmine.domain.ru/projects/repo/repository]
Проблема вызвана тем, что сертификат https коннекта к репо самоподписной.
Создадим новую папку для конфига svn:
mkdir /opt/svnredmine
chown redmine:redmine /opt/svnredmine/
А также немного подправим логику работы RedMine:
vi /opt/redmine/lib/redmine/scm/adapters/subversion_adapter.rb
И на строке заменяем:
SVN_BIN = "svn"
на:
SVN_BIN = "svn --non-interactive --config-dir /opt/svnredmine"
Теперь входим под юзером redmine и делаем чекаут:
su redmine
cd /tmp
svn --config-dir /opt/svnredmine co https://svn.domain.ru/repo --username=redmine
И при предложении принять сертификат щелкаем p и получаем чекаут.
Теперь перезапускаем апача:
/etc/init.d/apache2 restart
И после этого идем во вкладку Repository в RedMine и через несколько секунд получаем репозиторий :)
Monday, 2 August 2010
jailbrake в законе!
Принятая Конгрессом в понедельник поправка к DMCA в ряде случаев признаёт правомерность обхода технических средств защиты авторских прав и иных ограничений, относящихся к устройствам и данным.
В число последних попадает и "джейлбрейк" iPhone, что было особенно растиражировано в новостях: признаётся правомерность как взлома прошивок устройств в целях установки стороннего программного обеспечения, так и разблокировки аппаратов, привязанных к определённому оператору.
via http://feedproxy.google.com/~r/org/LOR/~3/bSA31f8PkLQ/5162211
Sunday, 1 August 2010
Официальный твиттер Перзидента Рссоии :)
Добро пожаловать: http://twitter.com/KermlinRussia !
Надеюсь, Вы в курсе, что rm -rf / не работает (по крайней мере на Debian) ?
НЕ ПОВТОРЯТЬ ОПАСНО ДЛЯ ЖИЗНИ!!!!
НЕ ПОВТОРЯТЬ ОПАСНО ДЛЯ ЖИЗНИ!!!!
rm -rf /
rm: cannot remove root directory `/'
НЕ ПОВТОРЯТЬ ОПАСНО ДЛЯ ЖИЗНИ!!!!
Subscribe to:
Posts
(
Atom
)