<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>Юникс админам...</title>
	<atom:link href="http://www.nixadmin.ru/feed" rel="self" type="application/rss+xml" />
	<link>http://nixadmin.ru</link>
	<description>Блог про юникс, линукс и прочие свободные операционные системы…</description>
	<pubDate>Mon, 15 Mar 2010 10:36:38 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
	<language>en</language>
			<item>
		<title>Переход с Linux на Windows и обратно</title>
		<link>http://nixadmin.ru/2010/03/15/perexod-s-linux-na-windows-i-obratno-2.html</link>
		<comments>http://nixadmin.ru/2010/03/15/perexod-s-linux-na-windows-i-obratno-2.html#comments</comments>
		<pubDate>Mon, 15 Mar 2010 10:35:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Юмор]]></category>

		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://nixadmin.ru/?p=153</guid>
		<description><![CDATA[Заменив было почтовый сервер на базе Linux на Microsoft Windows Server и Exchange Server, какая-то фирма повысила доступность почтовых систем для спама. Поэтому переход обратно на Linux был стремительным и безболезненным.Применяя Linux-сервер для работы с корпоративной почтой, какая-то фирма столкнулась с тем, что критическая бизнес-система полностью зависит от одного менеджера, который никак не может решить [...]]]></description>
			<content:encoded><![CDATA[<p>Заменив было почтовый сервер на базе Linux на Microsoft Windows Server и Exchange Server, какая-то фирма повысила доступность почтовых систем для спама. Поэтому переход обратно на Linux был стремительным и безболезненным.Применяя Linux-сервер для работы с корпоративной почтой, какая-то фирма столкнулась с тем, что критическая бизнес-система полностью зависит от одного менеджера, который никак не может решить организационные вопросы. Фактически незаменимый и неконтролируемый мелкий босс сделал серьезный риск безопасности ИТ-среды и компании в целом. В то же время используемая почтовая Linux-система не позволяла обеспечить пользователей свежими красивыми картинками, видео, а так же вирусами и спамом. Мало пригодилась она и для троянов, желавших владеть бизнес информацией не отходя ОТPC.</p>
<p>Поэтому, решено было начальника не изменять, а заменить Linux-сервер.</p>
<p>Миграция на платформу Microsoft Exchange Server позволила естественным образом интегрировать почтовую систему в мировую зомби-сеть, т.н. ботнет. В то же время трудящиеся слои спамеровк тому же оценили это нововведение.</p>
<p><span id="more-153"></span></p>
<h2>Переход с Linux на Windows</h2>
<p>Какая-то фирма - относительно молодая компания, однако ее деятельность предъявляет к ИТ-инфраструктуре жесткие требования. Как и другие организации, в начале своего существования она испытывала трудности с выделением средств на нужды подразделения ИТ.<br />
Однако, когда появилось лишнее бабло, его было решено отдать. Так, на каждый случай. Легкие деньги,- они без усилий приходят и без усилий уходят.</p>
<p>Теперь отдел ИТ был занят интересной работой: подсчетом CAL, чтобы ненароком не нарушить лицензию. За этот кал (не звучит, однако что поделать) вероятно реально пострадать, не дай бог его будет мало. Кала в Microsoft Windows должно быть много - закон.</p>
<p>Наделав кучу контент-фильтров для Exchange Server было установлено, что оказывается спам может (и приходит!) с поддельных адресов. Это как-то некорректно, нечестно, неспортивнос позиции спаммеров.</p>
<p>Вирусы совершенно нечестно стали вести себя по отношению к честно купленным и дорогим антивирусам. Несмотря на пополнение антивирусной базы вирусов становилось все более.</p>
<p>С развитием бизнеса к информационным системам стали предъявляться все новые требования. Бизнес-пользователям необходимы были средства для организации совместной работы - назначения совещаний, общих контактов, записныхкниг, доступа с мобильных устройств, организации доступа к корпоративной почте работников , находящихся в деловых поездках и т.д. Еще одной важной бизнес-задачей стала организация общего доступа к почте руководства и секретарейкомпании. С ростомколичества работников с 250 до 251 необходимость вносить перемены в работу почтовых служб становилась в действительности ежедневной. Из накопившихся проблем, требовавших решения, были также средства наблюдения за Интернет-трафиком и эффективные средства фильтрации электронной почты.</p>
<p>Поэтому ИТ персонал засел читать умные книжки, однако до слов IMAP и прочих так и не дочитал. Для чего, если есть лишнее бабло?</p>
<h2>Переход с Windows на Linux</h2>
<p>Архитектура Windows-систем все время требует новых и новых покупок: антивирусов, сторонних спам-фильтров, решений для резервного копирования и архивирования, самого быстродействующего и дорогого в мире железа. Этонеплохая терапия в сложномсовременном мире, шоппинг - лучшее лекарство, ведь коробки с Windows такие красивые и блестящие!</p>
<p>Покупка занимает всего 2-3 минуты - однако когда в разгар рабочего дня прекращается доступ к почтовому серверу Windows, то обращения в техподдержку занимают часы и дни.</p>
<p>Одним из факторов, повлиявших на выбор Linux, был уход из штата компании специалиста, занимавшегося администрированием Windows. Никто, кроме него не мог с подобный высокой скоростью щелкать мышкой.</p>
<p>Когда система зависит от работы одного сотрудника - вполне опасная ситуация для бизнеса: отпуск, болезнь, увольнение и другие жизненные обстоятельства - и решение оказывается полностью неуправляемым. Также, 1 специалист сам по себе практически неконтролируем. Кто сможет его проконтролировать, если его решение поставит под угрозу безопасность сети?</p>
<p>Теперь в ИТ-среде компании теперь широко используются свободные продукты.</p>
<p>В большей части случаев мы упираемся в проблему кадров - в ИТ-службе компании не нужен уникальный специалист по настройке Windows. Потому как это автоматически требует таких познаний владения мышью, которые есть разве что у спортсменов-радистов.</p>
<p>Требуется решение, обеспечивающее высокий ур. доступности и простоту интеграции со всей остальной инфраструктурой. Linux сервер и стал для нас лучшим выбором.</p>
<p>Ну, а после визита контролирующих оганов, которые отыскали недостаток кала (CAL) и выписали штраф со многими нулями, миграция с Windows на Linux была проведена в считанные часы. Попутно был удален непонятного назначения Microsoft ISA Server, который только и делал, что мигал своими разноцветными и весьма недешевыми лампочками.</p>
<p>Вся работа прошла без единого сбоя.</p>
<p>Календари и возможности групповой работы, предоставляемые FOSS (СПО), используются на все 100%. Это удобно.</p>
<p>Одновременно с внедрением корпоративной почты в офисе компании наконец-таки была нормально решена задача подключения удаленного доступа для работников, находящихся в деловых поездках.</p>
<h2>Преимущества Linux</h2>
<p>Модернизация ИТ-инфраструктуры позволила сотрудникам организации получить доступ к функционалу, предоставляемому Linux и FOSS (СПО). Были наконец настроены общие календари и адресные книги, групповая совместная работа, резервируемая корпоративная электронная почта и многое другое.</p>
<p>Существенно упростилась работа по администрированию серверов. Если раньше с использованием Windows-серверов на получение какой-либо информации уходило несколько часов на бесплодное тыкание мышой, то теперь эти же данные вероятно покупать практически в режиме реального времени.</p>
<p>Более дружественный интерфейс Linux дал о себе знать. Эффективность работы повысилась, стало удобнее новости работу и администрировать.</p>
<p>Свободные решения позволили фирме получить решение с более низкой стоимостью владения, чем старая ИТ-инфраструктура на базе Windows.</p>
]]></content:encoded>
			<wfw:commentRss>http://nixadmin.ru/2010/03/15/perexod-s-linux-na-windows-i-obratno-2.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Полезные команды часть 1</title>
		<link>http://nixadmin.ru/2010/03/15/poleznye-komandy-chast-1.html</link>
		<comments>http://nixadmin.ru/2010/03/15/poleznye-komandy-chast-1.html#comments</comments>
		<pubDate>Mon, 15 Mar 2010 09:53:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[FreeBSD]]></category>

		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Unix]]></category>

		<category><![CDATA[Основы]]></category>

		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://nixadmin.ru/?p=151</guid>
		<description><![CDATA[Сегодня начинается цикл статей с необходимыми командами для любого Unix-пользователя или даже администратора. Здесь я распишу некоторые команды, выводящие информацию о системе. Более подробно о них можно почитать набрав #man имя_команды

Информация о системе



Команда
Описание


# arch
вывести архитектуру компьютера (1)


# cal 2007
отобразить календарь на 2007 год.


# cat /proc/cpuinfo
отобразить информацию о CPU (центральный процессор)


# cat /proc/interrupts
отобразить прерывания


# cat /proc/meminfo
проверить [...]]]></description>
			<content:encoded><![CDATA[<p>Сегодня начинается цикл статей с необходимыми командами для любого Unix-пользователя или даже администратора. Здесь я распишу некоторые команды, выводящие информацию о системе. Более подробно о них можно почитать набрав #man имя_команды</p>
<p><span id="more-151"></span></p>
<h3 class="Stile35"><span style="color: #0000ff;">Информация о системе</span></h3>
<table style="height: 474px;" border="1" cellspacing="2" cellpadding="2" width="689">
<tbody>
<tr>
<td width="48%" height="20" bgcolor="#ffffaa" bordercolor="#A3A3A3"><strong>Команда</strong></td>
<td width="52%" height="20" bgcolor="#ffffaa"><strong>Описание</strong></td>
</tr>
<tr bgcolor="#ffffff">
<td class="command" dir="ltr" width="48%" height="20" valign="top"># arch</td>
<td class="description" dir="ltr" lang="RU" width="52%" height="20" valign="top">вывести архитектуру компьютера (1)</td>
</tr>
<tr bgcolor="#aaffaa">
<td class="command" dir="ltr" width="48%" height="20" valign="top"># cal 2007</td>
<td class="description" dir="ltr" lang="RU" width="52%" height="20" valign="top">отобразить календарь на 2007 год.</td>
</tr>
<tr bgcolor="#ffffff">
<td class="command" dir="ltr" width="48%" height="20" valign="top"># cat /proc/cpuinfo</td>
<td class="description" dir="ltr" lang="RU" width="52%" height="20" valign="top">отобразить информацию о CPU (центральный процессор)</td>
</tr>
<tr bgcolor="#aaffaa">
<td class="command" dir="ltr" width="48%" height="20" valign="top"># cat /proc/interrupts</td>
<td class="description" dir="ltr" lang="RU" width="52%" height="20" valign="top">отобразить прерывания</td>
</tr>
<tr bgcolor="#ffffff">
<td class="command" dir="ltr" width="48%" height="20" valign="top"># cat /proc/meminfo</td>
<td class="description" dir="ltr" lang="RU" width="52%" height="20" valign="top">проверить используемую память</td>
</tr>
<tr bgcolor="#aaffaa">
<td class="command" dir="ltr" width="48%" height="20" valign="top"># cat /proc/swaps</td>
<td class="description" dir="ltr" lang="RU" width="52%" height="20" valign="top">отобразить фаил(ы) swap (виртуальная память)</td>
</tr>
<tr bgcolor="#ffffff">
<td class="command" dir="ltr" width="48%" height="20" valign="top"># cat /proc/version</td>
<td class="description" dir="ltr" lang="RU" width="52%" height="20" valign="top">отобразить версию ядра</td>
</tr>
<tr bgcolor="#aaffaa">
<td class="command" dir="ltr" width="48%" height="20" valign="top"># cat /proc/net/dev</td>
<td class="description" dir="ltr" lang="RU" width="52%" height="20" valign="top">отобразить сетевые карты и статистику по ним</td>
</tr>
<tr bgcolor="#ffffff">
<td class="command" dir="ltr" width="48%" height="20" valign="top"># cat /proc/mounts</td>
<td class="description" dir="ltr" lang="RU" width="52%" height="20" valign="top">отобразить примонтированные файловые системы</td>
</tr>
<tr bgcolor="#aaffaa">
<td class="command" dir="ltr" width="48%" height="20" valign="top"># clock -w</td>
<td class="description" dir="ltr" lang="RU" width="52%" height="20" valign="top">сохранить текущую системную дату в BIOS (Базовая Система Ввода Вывода)</td>
</tr>
<tr bgcolor="#ffffff">
<td class="command" dir="ltr" width="48%" height="20" valign="top"># date</td>
<td class="description" dir="ltr" lang="RU" width="52%" height="20" valign="top">отобразить текущую системную дату</td>
</tr>
<tr bgcolor="#aaffaa">
<td class="command" dir="ltr" width="48%" height="20" valign="top"># date 041217002007.00</td>
<td class="description" dir="ltr" lang="RU" width="52%" height="20" valign="top">установить дату и время МесяцДеньЧасМинутаГод.Секунда</td>
</tr>
<tr bgcolor="#ffffff">
<td class="command" dir="ltr" width="48%" height="20" valign="top"># dmidecode -q</td>
<td class="description" dir="ltr" lang="RU" width="52%" height="20" valign="top">отобразить аппаратное оборудование системы (SMBIOS / DMI)</td>
</tr>
<tr bgcolor="#aaffaa">
<td class="command" dir="ltr" width="48%" height="20" valign="top"># hdparm -i /dev/hda</td>
<td class="description" dir="ltr" lang="RU" width="52%" height="20" valign="top">отобразить характеристики жесткого диска</td>
</tr>
<tr bgcolor="#ffffff">
<td class="command" dir="ltr" width="48%" height="20" valign="top"># hdparm -tT /dev/sda</td>
<td class="description" dir="ltr" lang="RU" width="52%" height="20" valign="top">протестировать производительность чтения данных с жесткого диска</td>
</tr>
<tr bgcolor="#aaffaa">
<td class="command" dir="ltr" width="48%" height="20" valign="top"># lspci -tv</td>
<td class="description" dir="ltr" lang="RU" width="52%" height="20" valign="top">отобразить устройства на PCI шине</td>
</tr>
<tr bgcolor="#ffffff">
<td class="command" dir="ltr" width="48%" height="20" valign="top"># lsusb -tv</td>
<td class="description" dir="ltr" lang="RU" width="52%" height="20" valign="top">отобразить устройства на USB шине</td>
</tr>
<tr bgcolor="#aaffaa">
<td class="command" dir="ltr" width="48%" height="20" valign="top"># uname -m</td>
<td class="description" dir="ltr" lang="RU" width="52%" height="20" valign="top">отобразить архитектуру компьютера(2)</td>
</tr>
<tr bgcolor="#ffffff">
<td class="command" dir="ltr" width="48%" height="20" valign="top"># uname -r</td>
<td class="description" dir="ltr" lang="RU" width="52%" height="20" valign="top">отобразить используемую версию ядра</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://nixadmin.ru/2010/03/15/poleznye-komandy-chast-1.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Добавление, просмотр, удаление статического маршрута в ОС FreeBSD, Linux</title>
		<link>http://nixadmin.ru/2010/03/12/dobavlenie-prosmotr-udalenie-staticheskogo-marshruta-v-os-freebsd-linux.html</link>
		<comments>http://nixadmin.ru/2010/03/12/dobavlenie-prosmotr-udalenie-staticheskogo-marshruta-v-os-freebsd-linux.html#comments</comments>
		<pubDate>Fri, 12 Mar 2010 12:23:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[FreeBSD]]></category>

		<category><![CDATA[Linux]]></category>

		<category><![CDATA[route]]></category>

		<guid isPermaLink="false">http://nixadmin.ru/?p=149</guid>
		<description><![CDATA[Ответ на частые вопросы:

Как добавить статический маршут ?
Как посмотреть таблицу маршрутизации ?

Для примера будем добавлять маршрут в сеть 10.10.0.0/16 (маска 255.255.0.0) через gateway 10.10.1.1/24
Не забывайте, что маршрут добавится ТОЛЬКО если на вашем компьютере есть IP-адрес который входит в одну подсеть с gateway (в данном примере gateway 10.10.1.1, значит у вас должен быть настроен IP-адрес из [...]]]></description>
			<content:encoded><![CDATA[<p>Ответ на частые вопросы:</p>
<ul>
<li><span style="color: #999999;">Как добавить статический маршут ?</span></li>
<li><span style="color: #999999;">Как посмотреть таблицу маршрутизации ?</span></li>
</ul>
<p>Для примера будем добавлять маршрут в сеть 10.10.0.0/16 (маска 255.255.0.0) через gateway 10.10.1.1/24</p>
<p><span style="color: #000080;">Не забывайте</span>, что маршрут добавится <span style="color: #000080;">ТОЛЬКО</span> если на вашем компьютере есть IP-адрес который входит в одну подсеть с gateway (в данном примере gateway 10.10.1.1, значит у вас должен быть настроен IP-адрес из сети 10.10.1.0/24 т.к IP-адрес gateway имеет маску /24 (255.255.255.0))</p>
<h2><strong>FreeBSD</strong></h2>
<p><strong>Добавление</strong>:</p>
<p><span>route add 10.10.0.0/16 10.10.1.1</span></p>
<p>если после выполнения команды вам говорится, что команда не найдена, то используйте полный путь до команды <span>route</span> (и для других команд):</p>
<p><span>/sbin/route</span></p>
<p>так же если прочитать:</p>
<p><span>man route</span></p>
<p>то можно узнать, что статический роутинг можно добавить и так:</p>
<p><span>/sbin/route add -net 10.10.0.0 -netmask 255.255.0.0 10.10.1.1</span></p>
<p><strong>Просмотр</strong> таблицы маршрутизации выполняется командой:</p>
<p><span>netstat -rn</span></p>
<p>с полным путем:</p>
<p><span>/usr/bin/netstat -rn</span></p>
<p><strong>Удаление:</strong></p>
<p><span>/sbin/route delete 10.10.0.0/16</span></p>
<h2><strong>Linux</strong></h2>
<p><strong>Добавление</strong>:</p>
<p><span>route add -net 10.10.0.0/16 gw 10.10.1.1</span></p>
<p>альтернатива:</p>
<p><span>ip route add 10.10.0.0/16 via 10.10.1.1</span></p>
<p><strong>Просмотр</strong> таблицы:</p>
<p><span>route -n</span></p>
<p>или используйте:</p>
<p><span>ip route</span></p>
<p><strong>Удаление</strong>:</p>
<p><span>route delete -net 10.10.0.0 netmask 255.255.0.0</span></p>
]]></content:encoded>
			<wfw:commentRss>http://nixadmin.ru/2010/03/12/dobavlenie-prosmotr-udalenie-staticheskogo-marshruta-v-os-freebsd-linux.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Мониторим удаленный Linux сервер используя Nagios</title>
		<link>http://nixadmin.ru/2009/03/13/monitorim-udalennyj-linux-server-ispolzuya-nagios.html</link>
		<comments>http://nixadmin.ru/2009/03/13/monitorim-udalennyj-linux-server-ispolzuya-nagios.html#comments</comments>
		<pubDate>Thu, 12 Mar 2009 21:15:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Unix]]></category>

		<category><![CDATA[nagios]]></category>

		<guid isPermaLink="false">http://nixadmin.ru/?p=146</guid>
		<description><![CDATA[В этой статье я расскажу как мониторить удаленные Linux хосты и различные сервисы запущенные на нем.
I. Обзор
II. 6 шагов для установки плагинов Nagios и NRPE на удаленном хосте.
1. Скачиваем плагины Nagios и NRPE
2. Создаем аккаунт nagios
3. Устанавливаем плагины
4. Устанавливаем NRPE
5. Запускаем NRPE как демона
6. Редактируем /usr/local/nagios/etc/nrpe.cfg

III. 4 шага для настройки сервера Nagios для мониторинга удаленного [...]]]></description>
			<content:encoded><![CDATA[<p>В этой статье я расскажу как мониторить удаленные Linux хосты и различные сервисы запущенные на нем.</p>
<p><strong>I. Обзор</strong></p>
<p>II. 6 шагов для установки плагинов Nagios и NRPE на удаленном хосте.</p>
<p>1. Скачиваем плагины Nagios и NRPE<br />
2. Создаем аккаунт nagios<br />
3. Устанавливаем плагины<br />
4. Устанавливаем NRPE<br />
5. Запускаем NRPE как демона<br />
6. Редактируем /usr/local/nagios/etc/nrpe.cfg</p>
<p><span id="more-146"></span></p>
<p>III. 4 шага для настройки сервера Nagios для мониторинга удаленного хоста:</p>
<p>1. Скачиваем NRPE<br />
2. Устанавливаем check_nrpe<br />
3. Создаем хост и сервис для удаленного хостаCreate host and service definition for remote host<br />
4. Перезапускаем Nagios</p>
<p>I. Обзор:Следующие три действия выполняются когда Nagios мониторит какой нибуть сервис (к примеру использование диска) на удаленном Linux хосте.</p>
<p>1. Nagios выполняет команду check_nrpe на nagios-сервере и запрашивает данные о использовании диска у удаленного хоста используя команду check_disk.<br />
2. check_nrpe на nagios-сервере взаимодействует с демоном NRPE на удаленном хосту и запрашивает выполнение команды check_disk.<br />
3. Результат команды check_disk возвращается от NRPE демона к check_nrpe на nagios-сервере.</p>
<p>Примерное схематичное представление потоков:</p>
<p><span style="color: #0000ff;">Nagios Server (check_nrpe) —–&gt; Remote host (NRPE deamon) —–&gt; check_disk</span></p>
<p>Nagios Server (check_nrpe) &lt;—– Remote host (NRPE deamon) &lt;—– check_disk<br />
II. 6 шагов для установки плагинов Nagios и NRPE на удаленной Linux системе.<br />
1. Скачиваем плагины Nagios и NRPE</p>
<p>Скачиваем следующие файлы с Nagios.org и помещаем их в /home/downloads:</p>
<p><span style="color: #ff0000;"> * nagios-plugins-1.4.11.tar.gz<br />
* nrpe-2.12.tar.gz</span></p>
<p>2. Создаем аккаунт nagios</p>
<p><span style="color: #ff0000;">[remotehost]#useradd nagios<br />
[remotehost]#passwd nagios</span><br />
3. Устанавливаем плагины Nagios</p>
<p><span style="color: #ff0000;">[remotehost]#cd /home/downloads<br />
[remotehost]# tar xvfz nagios-plugins-1.4.11.tar.gz<br />
[remotehost]# cd nagios-plugins-1.4.11<br />
[remotehost]# export LDFLAGS=-ldl<br />
[remotehost]# configure –with-nagios-user=nagios –with-nagios-group=nagios –enable-redhat-pthread-workaround<br />
[remotehost]# make<br />
[remotehost]# make install<br />
[remotehost]# chown nagios.nagios /usr/local/nagios<br />
[remotehost]# chown -R nagios.nagios /usr/local/nagios/libexec/</span><br />
4. Устанавливаем NRPE</p>
<p><span style="color: #ff0000;">[remotehost]#cd /home/downloads<br />
[remotehost]# tar xvfz nrpe-2.12.tar.gz<br />
[remotehost]# cd nrpe-2.12<br />
[remotehost]# configure<br />
[remotehost]# make all<br />
[remotehost]# make install-plugin<br />
[remotehost]# make install-daemon<br />
[remotehost]# make install-daemon-config<br />
[remotehost]# make install-xinetd</span><br />
5. Запускаем NRPE как демон:</p>
<p><span style="color: #ff0000;"> * Измените /etc/xinetd.d/nrpe и добавьте ip-адрес Nagios сервера в директиву only_from.</span></p>
<p>only_from       = 127.0.0.1 192.168.1.2</p>
<p>* Измените /etc/services добавив следующую строку в конец файла.</p>
<p>nrpe 5666/tcp # NRPE</p>
<p>* Перезапустите xinetd</p>
<p>[remotehost]#service xinetd restart<br />
<span style="color: #ff0000;"><br />
* Проверьте слушает ли NRPE свой порт.</span></p>
<p>[remotehost]# netstat -at | grep nrpe       tcp 0      0 *:nrpe *:*                         LISTEN</p>
<p>* Убедитесь что NRPE функционирует правильно.</p>
<p>[remotehost]# /usr/local/nagios/libexec/check_nrpe -H localhost</p>
<p>NRPE v2.12</p>
<p>6. Измените /usr/local/nagios/etc/nrpe.cfg</p>
<p>Файл nrpe.cfg содержит команды, которые проверяют различные сервисы. По умолчанию в nrpe.cfg содержиться несколько стандартных команд, к примеру check_users и check_load:</p>
<p><span style="color: #ff0000;">command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10<br />
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20</span></p>
<p>В команде check опция “-w” означает “Warning” и “-c” означает “Critical”. К примеру, в команде check_disk, описанной ниже, если доступного места на диске менее 20%, nagios пошлет предупреждающее сообщение. Если менее 10%, будет послано критическое сообщение.</p>
<p><span style="color: #ff0000;">command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1</span></p>
<p>Заметка: Вы можете выполнить любую из этих команд в командной строке для проверки.</p>
<p><span style="color: #ff0000;">[remotehost]#/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1<br />
DISK CRITICAL - free space: / 6420 MB (10% inode=98%);| /=55032MB;51792;58266;0;64741</span><br />
III. 4 шага для настройки сервера Nagios для мониторинга удаленного хоста:<br />
1. Скачиваем NRPE</p>
<p>Скачиваем nrpe-2.12.tar.gz с сайта Nagios.org:<br />
2. Устанавливаем check_nrpe</p>
<p><span style="color: #ff0000;">[nagios-server]# tar xvfz nrpe-2.12.tar.gz<br />
[nagios-server]# cd nrpe-2.1.2<br />
[nagios-server]# ./configure<br />
[nagios-server]# make all<br />
[nagios-server]# make install-plugin</span></p>
<p>После команды ./configure вы увидите суммарную информацию о конфигурации:</p>
<p>*** Configuration summary for nrpe 2.12 05-31-2008 ***:<br />
General Options:<br />
————————-<br />
NRPE port: 5666<br />
NRPE user: nagios<br />
NRPE group: nagios<br />
Nagios user: nagios<br />
Nagios group: nagios</p>
<p><span style="color: #00ff00;">Заметка: Я получил ошибку “checking for SSL headers… configure: error: Cannot find ssl headers” в процессе выполнения ./configure. В данном случае необходимо установить пакет openssl-devel и выполнить ./configure опять.</span></p>
<p><span style="color: #ff0000;">[nagios-server]# rpm -ivh openssl-devel-0.9.7a-43.16.i386.rpm krb5-devel-1.3.4-47.i386.rpm zlib-devel-1.2.1.2-1.2.i386.rpm e2fsprogs-devel-1.35-12.5.<br />
el4.i386.rpm<br />
warning: openssl-devel-0.9.7a-43.16.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e<br />
Preparing… ########################################### [100%]<br />
1:e2fsprogs-devel ########################################### [ 25%]<br />
2:krb5-devel ########################################### [ 50%]<br />
3:zlib-devel ########################################### [ 75%]<br />
4:openssl-devel ########################################### [100%]</span></p>
<p>Проверьте как nagios мониторит удаленный хост.</p>
<p><span style="color: #ff0000;">[nagios-server]#/usr/local/nagios/libexec/check_nrpe -H 192.168.1.3<br />
NRPE v2.12</span></p>
<p><span style="color: #00ff00;">Заметка: 192.168.1.3 в данном случае это ip-адрес удаленного хоста, где установлен NRPE и плагины nagios.</span><br />
3. Создаем хост и сервисы для мониторинга</p>
<p>Создайте новый конфигурационный файл /usr/local/nagios/etc/objects/remotehost.cfg для определения хоста и сервисов, которые будут мониторится на удаленном хосте.</p>
<p>Пример определения хоста:</p>
<p><span style="color: #ff0000;">define host{<br />
use linux-server<br />
host_name remotehost<br />
alias Remote Host<br />
address 192.168.1.3<br />
contact_groups admins<br />
}<br />
</span><br />
Пример определения сервиса:</p>
<p><span style="color: #ff0000;">define service{<br />
use generic-service<br />
service_description Root Partition<br />
contact_groups admins<br />
check_command check_nrpe!check_disk<br />
}</span><br />
4. Перезапускаем nagios</p>
<p>Перезапустите nagios, как показано ниже и зайдите в веб-интерфейс (http://nagios-server/nagios/) для проверки статуса удаленного Linux хоста.</p>
<p><span style="color: #ff0000;">[nagios-server]#service nagios reload</span></p>
<p>Готово.</p>
<p>Постовой: Ищите работу? Оставьте своё <a href="http://onlinejobs.ru">резюме</a> у нас.</p>
]]></content:encoded>
			<wfw:commentRss>http://nixadmin.ru/2009/03/13/monitorim-udalennyj-linux-server-ispolzuya-nagios.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Использование программного RAID-1 в FreeBSD</title>
		<link>http://nixadmin.ru/2009/01/29/ispolzovanie-programmnogo-raid-1-v-freebsd.html</link>
		<comments>http://nixadmin.ru/2009/01/29/ispolzovanie-programmnogo-raid-1-v-freebsd.html#comments</comments>
		<pubDate>Thu, 29 Jan 2009 03:12:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[FreeBSD]]></category>

		<category><![CDATA[Unix]]></category>

		<category><![CDATA[Raid]]></category>

		<guid isPermaLink="false">http://nixadmin.ru/?p=143</guid>
		<description><![CDATA[Вы когда-нибудь нуждались в программном решении RAID на сервере начального уровня? Возможно, вы хотели бы использовать избыточность, предоставляемую зеркалированием, на своей рабочей станции не тратя денег на RAID-контроллер? А может, у вас был уже опыт настройки программного RAID на UNIX-системах и вы потерпели неудачу?
Начиная с 5.3-Release, в состав FreeBSD входит утилита gmirror(8), которая позваляет вам [...]]]></description>
			<content:encoded><![CDATA[<p>Вы когда-нибудь нуждались в программном решении RAID на сервере начального уровня? Возможно, вы хотели бы использовать избыточность, предоставляемую зеркалированием, на своей рабочей станции не тратя денег на RAID-контроллер? А может, у вас был уже опыт настройки программного RAID на UNIX-системах и вы потерпели неудачу?</p>
<p>Начиная с 5.3-Release, в состав FreeBSD входит утилита gmirror(8), которая позваляет вам более легко создавать решения RAID 1. Хотя существует учебник по gmirror(8), все равно требуется много вычислений размеров разделов с помощью bsdlabel или использование дискеты восстановления имеющейся системы.<span id="more-143"></span></p>
<p>Мне кажется, что было бы более разумно настраивать RAID во время установки системы. Так же, хотелось бы разработать методику, на которую не влиял бы человеческий фактор, в виде ошибочных расчетов. После нескольких проб и ошибок, была разработана данная методика, которая была мною проверена на различных системах и хорошо себя зарекомедовала. Так же, я получила ценные данные от Поэльа Джакаба Доидека(Pawel Jakub Dawidek), автора gmirror, в добавок раскрывшего мне некоторые недокументированные возможности gmirror.<br />
Некоторая подготовка GEOM</p>
<p>Перед тем, как мы приступим к нашим экспериментам, сделаем краткий экскурс в GEOM. GEOM является модульной дисковой структурой, появившейся в FreeBSD 5.0. В результате модульной структуры, появляется возможность создавать программы, способные управлять дисками. Лучшие примеры - программные реализации RAID, появившиеся в FreeBSD 5.3:</p>
<p><span style="color: #000000;"> </span><span style="color: #ff0000;"><span style="color: #000000;">* gstripe(8) обеспечивает чередование или RAID 0<br />
* gmirror(8) обеспечиват зеркалирование/дуплекс или RAID 1<br />
* graid3(8) обеспечивает чередование с контролем четности или RAID 3</span><br />
</span><br />
Начальная g указывает на то, что эти утилиты пользуются возможностями, которые предоставляет GEOM.</p>
<p>man 4 geom описывает используемые термины, которые включают в себя:</p>
<p>* Провайдер — Этот объект GEOM появляется в /dev. В этой статье рассматривается, как создать провайдер, известный как /dev/mirror/gm0, представляющий mirror/duplex диск.<br />
* Потребитель — Этот объект получает запросы ввода - вывода. В примере mirror/duplex, это - два физических диска. Я использую два IDE диска на отдельных кабелях, обозначенных как /dev/ad0 и /dev/ad2.<br />
* Метаданные — При обращении к любому уровню RAID, метаданные описывают членов массива, их размеры и местоположение, содержат описания логических дисков и разделов, и текущее состояния дискового массива.<br />
* mirror/duplex — RAID 1 содержит одинаковые данные на двух различных дисках. Другими словами, происходит зеркалирование данных одного диска на другой. Если оба диска подключены к одному каналу, то они зеркалированы. Если к разным каналам - то они работают в дуплексном режиме. Поскольку в режиме зеркалирования отказ канала приведет к отказу системы, большинство серверов работают в режиме дуплеска.</p>
<p><strong>Конфигурирование зеркалирования/дуплекса</strong></p>
<p>Если вы собираетесь сделать RAID 1, то не ищите лишних сложностей, а купите два идентичных (одного производителя и емкости) жестких диска. Вы можете и не последовать этому совету, но тогда столкнетесь с некоторыми сложностями и впустую потратите излишек свободного места на большем диске. Подключите диски как primary master и secondary master. Перед установкой операционной системы проверьте, что ваш CMOS распознает оба диска.</p>
<p>Используя ваш любимый инсталляционный метод, запустите установку FreeBSD любой версии (5.3 или выше). Когда Вы принимаетесь за меню Select Drives, то должны увидеть ad0 и ad2. Выберите ad0, поскольку вы будете устанавливать операционную систему на primary master.</p>
<p>С помощью утилиты fdisk удалите любые существующие разделы и выберите “Use entire disk”. На вопрос о меню загрузки, ответьте “Standard MBR”.</p>
<p>В редакторе меток диска создайте разделы на ad0 согласно вашим требованиям. Если есть какие-либо сомнения, то выберите автоматический режим. После этого выберите устанавливаемые наборы и тип носителя, после чего установите операционную систему в обычном порядке.</p>
<p>Когда установка завершится, установите ваш часовой пояс, создайте учетную запись пользователя, установите пароль root, и так далее.</p>
<p>После настройки этих параметров не стоит перезагружаться. Нажмите Alt-F4 для перехода в режим командной строки. Первой командой, которую я ввожу, обычно бывает csh, для того, чтобы у меня была оболочка с историей команд (по умолчанию устанавливается оболочка Bourne).</p>
<p>Создание зеркалирования/дублекса осуществляется вводом следующей команды:</p>
<p>*</p>
<p><span style="color: #ff0000;"> # gmirror label -v -b round-robin gm0 /dev/ad0</span></p>
<p>Где gmirror label создает зеркало, функция -v включает режим отладки, -b round-robin выбирает алгоритм балансировки (в настоящее время это наиболее быстродействующий алгоритм), gm0 - имя первого зеркала GEOM и /dev/ad0 указывает на диск, содержащий данные для зеркалирования.</p>
<p>Однако, если вы попробуете выполнить эту команду сейчас, то будете разочарованы:</p>
<p>*</p>
<p><span style="color: #ff0000;"> # gmirror label -v -b round-robin gm0 /dev/ad0<br />
Can’t store metadata on /dev/ad0: Operation not permitted</span></p>
<p>Это особенность защиты, которая указывает, что диск в настоящее время установлен для записи и поэтому недоступен. Однако, вы можете обойти эту проблему цыпленка-и-яйца и временно вынудить gmirror обойти эту меру, чтобы создать зеркалирование/дуплекс, устанавливая sysctl MIB:</p>
<p>*</p>
<p><span style="color: #ff0000;"># sysctl kern.geom.debugflags=16<br />
kern.geom.debugflags: 0 -&gt; 16</span></p>
<p>Не волнуйтесь, после перезагрузки этот параметр снова примет значение “0″. А теперь выполним:</p>
<p>*</p>
<p><span style="color: #ff0000;"># gmirror label -v -b round-robin gm0 /dev/ad0<br />
Metadata value stored on /dev/ad0</span></p>
<p>Все, теперь у нас есть RAID 1.</p>
<p>Так же теперь нам необходимо отредактировать два файла. Первый из них в настоящее время пуст, используем утилиту echo для того, чтобы внести в него необходимый параметр:</p>
<p>*</p>
<p><span style="color: #ff0000;"> # echo geom_mirror_load=”YES” &gt; /boot/loader.conf</span></p>
<p>Поскольку в файле /etc/fstab у нас уже содержатся некие данные, то лучше сделать его резервную копию.</p>
<p>*</p>
<p><span style="color: #ff0000;"><br />
# cp /etc/fstab /etc/fstab.orig<br />
# vi /etc/fstab<br />
</span><br />
Измените каждый ad на gm и вставьте mirror после /dev. Для примера, /dev/ad0s1a трансформируется в /dev/mirror/gm0s1a. Если вы не делали дополнительные разделы, то у вас будут устройства ad0s1, оканчивающиеся на a, b, d, e и f. Необходимо отредактировать каждую строку.</p>
<p>После внесения всех изменений, проверьте эти файлы еще раз. Будет очень обидно, если система не загрузится из-за сделанной опечатки.</p>
<p>Обратите внимание, что в некоторых руководствах указано требование к наличию опции swapoff в /etc/rc.conf. Теперь это не является необходимым, так же как и использование shutdown -r now вместо reboot.</p>
<p>Теперь, когда вы уверены, что все в порядке, нажмите Alt-F1, извлеките установочный диск и выйдите из утилиты установки.<br />
<strong>Загрузка в режиме зеркалирования/дуплекса</strong></p>
<p>Если вы внимательно смотрите на экран во время начальной загрузки, то должны увидеть следущие строки:</p>
<p>*</p>
<p><span style="color: #ff0000;"><br />
GEOM_MIRROR: Device gm0 created (id=2125638583).<br />
GEOM_MIRROR: Device gm0: provider ad0 detected.<br />
GEOM_MIRROR: Device gm0: provider ad0 activated.<br />
GEOM_MIRROR: Device gm0: provider mirror/gm0 launched.<br />
GEOM_MIRROR: Device gm0 already configured.<br />
Mounting root from ufs:/dev/mirror/gm0s1a</span></p>
<p>После монтирования /dev/mirror/gm0s1a система продолжит загрузку. Если вы допустили опечатку в /etc/fstab, то загрузка остановится и система будет ждать от вас каких-либо действий. Я забыла вставить mirror, когда редактировала /etc/fstab:</p>
<p>*</p>
<p><span style="color: #ff0000;"><br />
Mounting root from ufs:/dev/gm0s1a<br />
setrootbyname failed<br />
ffs_mountroot: can’t find rootvp<br />
Root mount failed: 6</span></p>
<p>Manual root filesystem specification:<br />
:  Mount  using filesystem<br />
e.g. ufs:da0s1a<br />
?             List valid disk boot devices<br />
Abort manual input</p>
<p>mountroot&gt;</p>
<p>К счастью, все не так страшно, как выглядит. Сперва просмотрим доступные дисковые устройства:</p>
<p>*</p>
<p><span style="color: #ff0000;">mountroot&gt; ?</span></p>
<p>List of GEOM managed disk devices:<br />
mirror/gm0s1f mirror/gm0s1e mirror/gm0s1d mirror/gm0s1c mirror/gm0s1b<br />
mirror/gm0s1a mirror/gm0s1 ad2s1 mirror/gm0 ad0s1 ad2 acd0 ad0 fd0</p>
<p>Если вы укажете правильное расположение корневой файловой системы, то система продолжит загружаться:</p>
<p>*</p>
<p><span style="color: #ff0000;"> mountroot&gt; ufs:/dev/mirror/gm0s1a<br />
Mounting root from /dev/mirror/gm0s1a</span></p>
<p>После входа в систему, исправьте /etc/fstab и перезагрузитесь, после чего снова войдите в систему и удостоверьтесь, что все файловые системы примонтированы правильно:</p>
<p>*</p>
<p><span style="color: #ff0000;"> % df -h<br />
Filesystem            Size    Used    Avail    Capacity    Mounted on<br />
/dev/mirror/gm0s1a    248M     35M     193M       15%        /<br />
devfs                 1.0K    1.0K       0B      100%        /dev<br />
/dev/mirror/gm0s1e    248M     12K     228M        0%        /tmp<br />
/dev/mirror/gm0s1f    7.3G     99M     6.7G        1%        /usr<br />
/dev/mirror/gm0s1d    248M    196K     228M        0%        /var</span></p>
<p>Утилита df не покажет состояние раздела подкачки, воспользуемся другой:</p>
<p>*</p>
<p><span style="color: #ff0000;"> % swapinfo<br />
Device                1K-blocks    Used    Avail    Capacity<br />
/dev/mirror/gm0s1b       629544       0   629544        0%<br />
</span><br />
Синхронизация дисков</p>
<p>Единственное, что мы еще не сделали, так это не синхронизировали диски. Это случится автоматически, как только вы вставите второй диск в зеркало:</p>
<p>*</p>
<p><span style="color: #ff0000;"> # gmirror insert gm0 /dev/ad2<br />
GEOM_MIRROR: Device gm0: provider ad2 detected.<br />
GEOM_MIRROR: Device gm0: rebuilding provider ad2.<br />
</span><br />
Смотрите, что случится:</p>
<p>*</p>
<p><span style="color: #ff0000;"> # gmirror list | more<br />
Geom name: gm0<br />
State: DEGRADED<br />
Components: 2<br />
Balance: round-robin<br />
Slice: 4096<br />
Flags: NONE<br />
GenID: 0<br />
SyncID: 1<br />
ID: 2125638583<br />
Providers:<br />
1. Name: mirror/gm0<br />
Mediasize: 10262568448 (9.6G)<br />
Sectorsize: 512<br />
Mode: r6w5e2<br />
Consumers:<br />
1. Name: ad0<br />
Mediasize: 10262568448 (9.6G)<br />
Sectorsize: 512<br />
Mode: r1w1e1<br />
State: ACTIVE<br />
Priority: 0<br />
Flags: DIRTY<br />
GenID: 0<br />
SyncID: 1<br />
ID: 3986018406<br />
2. Name: ad2<br />
Mediasize: 10262568448 (9.6G)<br />
Sectorsize: 512<br />
Mode: r1w1e1<br />
State: SYNCHRONIZING<br />
Priority: 0<br />
Flags: DIRTY, SYNCHRONIZING<br />
GenID: 0<br />
SyncID: 1<br />
Synchronized: 1%<br />
ID: 1946262342</span></p>
<p>Обратите на SYNCHRONIZING в строке Flags. Для синхронизации дисков потребуется некоторое время, в настоящее время синхронизировано 1% данных. Приблизительно, время синхронизации составляет от 30 минут для 10Гб и 2.5 часа для 75Гб дисков. Если вам интересно, то вы можете понаблюдать за процессом:</p>
<p>*</p>
<p><span style="color: #ff0000;"> # gmirror status<br />
Name    Status    Components<br />
mirror/gm0    DEGRADED    ad0<br />
ad2 (2%)</span></p>
<p>Когда синхронизация закончится, вы увидите следующее сообщение:</p>
<p>*</p>
<p><span style="color: #ff0000;"><br />
GEOM_MIRROR: Device gm0: rebuilding provider ad2 finished.<br />
GEOM_MIRROR: Device gm0: provider ad2 activated.<br />
</span><br />
Если вы повторно выполните команду gmirror list, то увидите, что в строке State значение DEGRADED изменилось на COMPLETE. Не волнуйтесь, увидев в строке Flags состояние DIRTY, это означает, что система сделала запись на диск, но еще не синхронизировала данные между дисками, если потождать несколько секунд, не производя никаких дисковых операций, то можно увидеть, как состояние изменится на NONE.</p>
<p>В финале действа, перезагрузите систему.</p>
<p>Во время загрузки вы должны будете увидеть следущие сообщения:</p>
<p>*</p>
<p><span style="color: #ff0000;"><br />
GEOM_MIRROR: Device gm0 created (id=2125638583).<br />
GEOM_MIRROR: Device gm0: provider ad0 detected.<br />
GEOM_MIRROR: Device gm0: provider ad2 detected.<br />
GEOM_MIRROR: Device gm0: provider ad0 activated.<br />
GEOM_MIRROR: Device gm0: provider ad2 activated.<br />
GEOM_MIRROR: Device gm0: provider mirror/gm0 launched.<br />
Mounting root from ufs:/dev/mirror/gm0s1a</span></p>
<p><strong>Заключение</strong></p>
<p>Утилиты GEOM находятся в постоянном развитии, разработчики вовсю добавляют новые возможности и постоянно вносят изменения в страницы руководства man.</p>
<p>Если вы желаете собрать статистику по производительности вашей системы, то используйте gstat(8), так как хорошая скорость работы через gmirror(8) необходима, особенно в случае неисправности одного из дисков.</p>
]]></content:encoded>
			<wfw:commentRss>http://nixadmin.ru/2009/01/29/ispolzovanie-programmnogo-raid-1-v-freebsd.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Установка FreeBSD 7.0 на шифрованую ФС</title>
		<link>http://nixadmin.ru/2008/10/01/ustanovka-freebsd-70-na-shifrovanuyu-fs.html</link>
		<comments>http://nixadmin.ru/2008/10/01/ustanovka-freebsd-70-na-shifrovanuyu-fs.html#comments</comments>
		<pubDate>Wed, 01 Oct 2008 11:46:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[FreeBSD]]></category>

		<category><![CDATA[Security]]></category>

		<category><![CDATA[Unix]]></category>

		<guid isPermaLink="false">http://nixadmin.ru/?p=141</guid>
		<description><![CDATA[Идея заключается в том, чтобы установить ОС на  ФС, зашифрованую
средствами самой ОС.
ВАЖНО: даная статья не претендует на 100% правильность решения
поставленой задачи.
Имеется ноут ASUS X50V с 80Гб винтом (ad4), флешка KINGSTON 2Гб, 3 CD
FreeBSD 7.0, 1 CD LiveFS  FreeBSD 7.0 и Очень большое желание :)

Под рабочей ОС форматирую флешку (UFS без SoftUpdate) и копирую на нее
содержимое [...]]]></description>
			<content:encoded><![CDATA[<p>Идея заключается в том, чтобы установить ОС на  ФС, зашифрованую<br />
средствами самой ОС.</p>
<p>ВАЖНО: даная статья не претендует на 100% правильность решения<br />
поставленой задачи.</p>
<p>Имеется ноут ASUS X50V с 80Гб винтом (ad4), флешка KINGSTON 2Гб, 3 CD<br />
FreeBSD 7.0, 1 CD LiveFS  FreeBSD 7.0 и Очень большое желание :)<br />
<span id="more-141"></span><br />
Под рабочей ОС форматирую флешку (UFS без SoftUpdate) и копирую на нее<br />
содержимое 3-х дисков. В результате получится такое дерево каталогов</p>
<p><span style="color: #ff0000;">satellite# ls /mnt/flash<br />
7.0-RELEASE<br />
packages</span></p>
<p>Тем, у кого есть два привода CD/DVD такого делать не нужно. Ето<br />
обусловлено тем, что установка будет идти с  CD LiveFS  FreeBSD 7.0, а<br />
нужные пакеты на ходятся на других дисках.</p>
<p>Загружаемся с  LiveFS. С помощью sysinstall разбиваем ad4 на два слайса<br />
ad4s1(512Mb) и ad4s2( 75Gb), делаем загрузочном  ad4s1 (s),<br />
сохраняем изменения (w), выходим(q), выбираем Standart(No BootManager).</p>
<p>Выходим в осоновное меню sysinstall, переходим на консоль (Fixit -&gt; CD/DVD)</p>
<p>Замечание: разбивку можна сделать и с помощью fdisk, но у меня не получилось :(</p>
<p>Создаем сим линки:</p>
<p><span style="color: #ff0000;">Fixit# ln -s /dist/lib /lib<br />
Fixit# ln -s /dist/boot/kernel /boot/modules</span></p>
<p>Загружаем модуль geli:</p>
<p><span style="color: #ff0000;"> Fixit# kldload geom_eli</span></p>
<p>Шифруем ad4s2</p>
<p><span style="color: #ff0000;"> Fixit# geli init -b -v -e camellia -l 256 /dev/ad4s2</span></p>
<p>Подключаем ad4s2:</p>
<p><span style="color: #ff0000;"> Fixit# geli attach /dev/ad4s2</span></p>
<p>Если в /dev появился ad4s2.eli значит все OK</p>
<p>Создаем на ad4s1 раздел</p>
<p><span style="color: #ff0000;">Fixit# bsdlabel -w /dev/ad4s1<br />
Fixit# bsdlabel -e /dev/ad4s1</span></p>
<p>Фоматируем  ad4s1a:</p>
<p><span style="color: #ff0000;"> Fixit# newfs -O2 /dev/ad4s1a</span></p>
<p>Монтируем в /mnt/boot</p>
<p><span style="color: #ff0000;">Fixit# mkdir /mnt/boot<br />
Fixit# mount -t ufs -o rw /dev/ad4s1a /mnt/boot<br />
</span></p>
<p>Разбиваем ad4s2.eli:</p>
<p><span style="color: #ff0000;">Fixit# bsdlabel -w /dev/ad4s2.eli<br />
Fixit# bsdlabel -e /dev/ad4s2.eli</span></p>
<p>В итоге:</p>
<p><span style="color: #ff0000;">ad4s2.elia    /<br />
ad4s2.elib    swap<br />
ad4s2.elid    /var<br />
ad4s2.elie    /tmp<br />
ad4s2.elif    /usr<br />
ad4s2.elig    /home</span></p>
<p>Форматируем разделы:</p>
<p><span style="color: #ff0000;">Fixit# newfs -O2 /dev/ad4s2.elia<br />
Fixit# newfs -U -O2 /dev/ad4s2.elid<br />
Fixit# newfs -U -O2 /dev/ad4s2.elie<br />
Fixit# newfs -U -O2 /dev/ad4s2.elif<br />
Fixit# newfs -U -O2 /dev/ad4s2.elig</span></p>
<p>Далее монтируем ad4s2.elia в /mnt/crypt</p>
<p><span style="color: #ff0000;"> Fixit#mount -t ufs -o rw /dev/ad4s2.elia /mnt/crypt</span></p>
<p>Создаем точки монтирования остальных ФС:</p>
<p><span style="color: #ff0000;">Fixit# mkdir /mnt/crypt/home<br />
Fixit# mkdir /mnt/crypt/usr<br />
Fixit# mkdir /mnt/crypt/var<br />
Fixit# mkdir /mnt/crypt/tmp<br />
</span></p>
<p>Монтируем:</p>
<p><span style="color: #ff0000;">Fixit# mount -t ufs -o rw /dev/ad4s2.elig /mnt/crypt/home<br />
Fixit# mount -t ufs -o rw /dev/ad4s2.elif /mnt/crypt/usr<br />
Fixit# mount -t ufs -o rw /dev/ad4s2.elie /mnt/crypt/tmp<br />
Fixit# mount -t ufs -o rw /dev/ad4s2.elid /mnt/crypt/var</span></p>
<p>Подключаем флешку в /mnt/flash:</p>
<p><span style="color: #ff0000;">Fixit# mkdir /mnt/flash<br />
Fixit# mount -t ufs -o ro /dev/da0s1a /mnt/flash<br />
</span></p>
<p>Устанавливаем переменную DESTDIR:</p>
<p><span style="color: #ff0000;">Fixit# export DESTDIR=/mnt/crypt<br />
</span></p>
<p>Устанавливаем базовую систему с /mnt/flash/7.0-RELEASE:</p>
<p><span style="color: #ff0000;">Fixit# cd /mnt/flash/7.0-RELEASE/base<br />
Fixit# ./install.sh</span></p>
<p>Устанавливаем ядро:</p>
<p><span style="color: #ff0000;"> Fixit# cd /mnt/flash/7.0-RELEASE/kernels<br />
Fixit# ./install.sh GENERIC</span></p>
<p>Устанавливаем остальные компоненты: src proflibs ports manpages info games doc dict catpages.</p>
<p>Делаем доступным ядро:</p>
<p><span style="color: #ff0000;">Fixit# rmdir /mnt/crypt/boot/kernel<br />
Fixit# rmv /mnt/crypt/boot/GENERIC /mnt/crypt/boot/kernel<br />
Fixit# cp -Rpv /mnt/crypt/boot /mnt/boot<br />
</span></p>
<p>Вклчаем поддержку geom_eli при загрузке:</p>
<p><span style="color: #ff0000;">Fixit# ee /mnt/boot/boot/loader.conf<br />
geom_eli_load=&#8221;YES&#8221;<br />
Fixit# cp /mnt/boot/boot/loader.conf /mnt/crypt/boot/loader.conf<br />
</span></p>
<p>Делаем fstab:</p>
<p><span style="color: #ff0000;">Fixit# mkdir /mnt/boot/etc<br />
Fixit# mkdir /mnt/crypt/cdrom<br />
Fixit# mkdir /mnt/crypt/boot.1<br />
Fixit# ee /mnt/boot/etc/fstab</span></p>
<p>/dev/ad4s2.elib    none    swap    sw    0 0<br />
/dev/ad4s2.elia    /    ufs    rw    1 1<br />
/dev/ad4s2.elie    /tmp    ufs    rw    2 2<br />
/dev/ad4s2.elid    /var    ufs    rw    2 2<br />
/dev/ad4s2.elif    /usr    ufs    rw    2 2<br />
/dev/ad4s2.elig    /home    ufs    rw    2 2<br />
/dev/acd0        /cdrom    cd9660     ro,noauto    0 0<br />
/dev/ad4s1a        /boot.1    ufs    rw    2 2</p>
<p>Fixit# cp /mnt/boot/etc/fstab /mnt/crypt/etc/fstab</p>
<p>ВСЕ!!! перезагружаемся</p>
<p>Заключение:<br />
Если есть проблемы с вводом пароля при загрузке, надо добавить в:<br />
/boot/device.hints  строчку</p>
<p><span style="color: #ff0000;"> hint.kdbmux.0.disabled=&#8221;1&#8243;</span></p>
<p>а в /boot/loader.conf</p>
<p><span style="color: #ff0000;"> kern.geom.eli.visible_passphrase=1</span></p>
<p>Постовой: Нужен фотоаппарат? <a href="http://fotik.com.ua/">Продажа фотоаппаратов</a> по разумным ценам.</p>
]]></content:encoded>
			<wfw:commentRss>http://nixadmin.ru/2008/10/01/ustanovka-freebsd-70-na-shifrovanuyu-fs.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Интернет шлюз на FreeBSD</title>
		<link>http://nixadmin.ru/2008/09/30/internet-shlyuz-na-freebsd.html</link>
		<comments>http://nixadmin.ru/2008/09/30/internet-shlyuz-na-freebsd.html#comments</comments>
		<pubDate>Tue, 30 Sep 2008 17:47:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Новости]]></category>

		<guid isPermaLink="false">http://nixadmin.ru/?p=138</guid>
		<description><![CDATA[Построение шлюза в глобальную сеть на FreeBSD - это один из самых частых
случаев использования этой системы. Основные плюсы данного решения это:
стабильность, масштабируемость, устойчивость к высоким нагрузкам и
естественно бесплатность всего используемого ПО. В этой заметке я опишу
свой опыт развертывания Интернет-шлюза на FreeBSD 7.0 RELEASE amd64 с
использованием межсетевого экрана IPFW, демона трансляции сетевых
адресов natd и прокси-сервер squid.

Начнем [...]]]></description>
			<content:encoded><![CDATA[<p>Построение шлюза в глобальную сеть на FreeBSD - это один из самых частых<br />
случаев использования этой системы. Основные плюсы данного решения это:<br />
стабильность, масштабируемость, устойчивость к высоким нагрузкам и<br />
естественно бесплатность всего используемого ПО. В этой заметке я опишу<br />
свой опыт развертывания Интернет-шлюза на FreeBSD 7.0 RELEASE amd64 с<br />
использованием межсетевого экрана IPFW, демона трансляции сетевых<br />
адресов natd и прокси-сервер squid.</p>
<p><span id="more-138"></span></p>
<p>Начнем с установки IPFW. Для этого нужно пересобрать ядро с поддержкой<br />
нескольких функций. Заходим в директорию соответствующую архитектуре нашего<br />
процессора и делаем копию дефолтного ядра в ROUTER:</p>
<p><span style="color: #ff0000;"># cd /usr/src/sys/amd64/conf<br />
# cp GENERIC ROUTER</span></p>
<p>Редактируем наше новое ядро и добавляем новые функции:</p>
<p><span style="color: #0000ff;"> cpu             HAMMER<br />
ident           ROUTER</span></p>
<p><span style="color: #0000ff;">makeoptions     DEBUG=-g                # Build kernel with gdb(1) debug symbols</span></p>
<p><span style="color: #0000ff;">options         IPFIREWALL              # собственно файрволл<br />
options         IPFIREWALL_VER          # логгинг пакетов, если в правиле написано log<br />
options         IPFIREWALL_VERBOSE_LIMIT=100 # ограничение логов (повторяющихся)<br />
options         IPFIREWALL_DEFAULT_TO_ACCEPT # дефолтное правило - разрешающее<br />
options         IPDIVERT                     # необходимо для NAT<br />
options         IPFIREWALL_FORWARD           # перенаправление пакетов<br />
options         DUMMYNET                     # ограничение скорости</span></p>
<p>Собираем и устанавливаем ядро:</p>
<p><span style="color: #ff0000;"># cd /usr/src<br />
# make buildkernel KERNCONF=ROUTER<br />
# make installkernel KERNCONF=ROUTER</span></p>
<p>Добавляем в rc.conf строки:</p>
<p><span style="color: #0000ff;">firewall_enable=&#8221;YES&#8221;<br />
firewall_type=&#8221;open&#8221;<br />
firewall_logging=&#8221;YES&#8221;<br />
natd_enable=&#8221;YES&#8221;<br />
natd_interface=&#8221;rl0&#8243;;</span></p>
<p>Перезагружаемся. Если все нормально, то в итоге у нас должен получиться<br />
открытый фаервол с NAT. Пока оставим как есть.</p>
<p>Следущим этапом у нас будет установка прокси-сервера.</p>
<p><span style="color: #ff0000;"> # cd /usr/ports/www/squid<br />
# make install clean<br />
# rehash<br />
</span></p>
<p>Дальше редактируем конфигурационный файл сквида. У меня сейчас небольшая<br />
офисная сеть без домена, поэтому с авторизацией не занимался - все<br />
ограничения идут по ip:</p>
<p>/usr/local/etc/squid/squid.conf</p>
<p><span style="color: #0000ff;"># порт который слушаем<br />
http_port 3128</span></p>
<p><span style="color: #0000ff;"># порт прозрачного прокси<br />
http_port 3129 transparent</span></p>
<p><span style="color: #0000ff;"># список слов, которые будучи обнаруженными в URL<br />
# вызывают обработку без кэширования<br />
hierarchy_stoplist cgi-bin ?</span></p>
<p><span style="color: #0000ff;"># список ACL которые вызывают несовпадение с кэшем,<br />
# и, запрос с ответом кэшироваться не будут<br />
acl QUERY urlpath_regex cgi-bin \?</span></p>
<p><span style="color: #0000ff;"># собственно - правило что не кэшируем<br />
no_cache deny QUERY</span></p>
<p><span style="color: #0000ff;"># сколько отдаём ему памяти<br />
cache_mem 256 MB</span></p>
<p><span style="color: #0000ff;"># Директория для кэша, числа - размер кэша в Mb,<br />
# число директорий первого уровня, число директорий второго<br />
# уровня в каждой директории первого.<br />
cache_dir ufs /usr/local/squid/cache 50000 64 512</span></p>
<p><span style="color: #0000ff;"># лог доступа - первый параметр путь, второй - формат<br />
# форматы описаны в дефолтовом файле.<br />
access_log /var/log/squid/access.log</span></p>
<p><span style="color: #0000ff;"># лог активности менеджера хранилища. Показывает, какие<br />
# объекты были сохранениы/удалены из кэша и как долго.<br />
# мне он не нужен, а места занимает прилично.<br />
cache_store_log none</span></p>
<p><span style="color: #0000ff;"># файл hosts, проверяемый при запуске. Из него берётся<br />
# доменное имя и добавляется к неполным адресам (которые<br />
# не содержат ни одной точки в имени)<br />
hosts_file /etc/hosts</span></p>
<p><span style="color: #0000ff;"># директория где хранятся HTML c текстами ошибок<br />
error_directory /usr/local/etc/squid/errors/Russian-1251<br />
cache_log /var/log/squid/cache.log</span></p>
<p><span style="color: #0000ff;">#debug_options ALL,5<br />
pid_filename /var/log/squid/squid.pid</span></p>
<p><span style="color: #0000ff;"># порты на которе можно ходить пользователям<br />
acl     safe_ports              port    80      # http<br />
acl     safe_ports              port    21      # ftp<br />
acl     safe_ports              port    443     # ssl<br />
acl     icq_ports               port    5190    # ICQ</span></p>
<p><span style="color: #0000ff;"># пользователи у которых просто интернет - с ограничениями<br />
acl inet_users src &#8220;/usr/local/etc/squid/inet_users&#8221;</span></p>
<p><span style="color: #0000ff;"># пользователи с полными парвами на доступ в инет<br />
acl inet_full src &#8220;/usr/local/etc/squid/inet_full&#8221;</span></p>
<p><span style="color: #0000ff;"># Описываем все сети все IP<br />
acl all src 0.0.0.0/0.0.0.0</span></p>
<p><span style="color: #0000ff;"># описываем локалхост<br />
acl localhost src 127.0.0.1/255.255.255.255</span></p>
<p><span style="color: #0000ff;"># запрещённые в URL выражения (для всего УРЛа)<br />
acl deny_url url_regex &#8220;/usr/local/etc/squid/deny_url&#8221;</span></p>
<p><span style="color: #0000ff;"># запрещённые доменные имена<br />
acl deny_domains dstdomain &#8220;/usr/local/etc/squid/deny_domains&#8221;</span></p>
<p><span style="color: #0000ff;"># пользователи с ограниченным доступом в интернет, только<br />
# определённый набор ресурсов и всё.<br />
acl inet_restrict src &#8220;/usr/local/etc/squid/inet_restrict&#8221;</span></p>
<p><span style="color: #0000ff;"># список сайтов для тех у кого их определённый набор<br />
acl domains_for_restrict dstdomain &#8220;/usr/local/etc/squid/domains_for_restrict&#8221;</span></p>
<p><span style="color: #0000ff;"># пользователи ICQ<br />
acl inet_icq src &#8220;/usr/local/etc/squid/inet_icq&#8221;</span></p>
<p><span style="color: #0000ff;"># Разрешаем доступ ко всему группе inet_full<br />
http_access allow inet_full</span></p>
<p><span style="color: #0000ff;"># Зарубаем запрещённые куски url, рубим рекламу если надо<br />
#http_access deny deny_url</span></p>
<p><span style="color: #0000ff;"># Разрешаем асечный порт тем у кого есть аська<br />
http_access allow inet_icq icq_ports</span></p>
<p><span style="color: #0000ff;"># зарубаем запрещённые домены<br />
http_access deny deny_domains</span></p>
<p><span style="color: #0000ff;"># зарубаем все порты проме safe_ports<br />
http_access deny !safe_ports</span></p>
<p><span style="color: #0000ff;"># разрешаем инет обычным пользователям<br />
http_access allow inet_users</span></p>
<p><span style="color: #0000ff;"># разрешаем инет ограниченным пользователям на разрешённые сайты<br />
http_access allow inet_restrict domains_for_restrict</span></p>
<p><span style="color: #0000ff;"># блокируем всё лишнее<br />
http_access deny all</span></p>
<p>Вкратце по конфигу: слушаем как на стандартном порту, так и прикрутили<br />
прозрачный прокси; принимаем запросы http, https ftp, icq; распределение<br />
доступа производится на основе правил и файлов, в которых прописываются<br />
ip нужных компьютеров.</p>
<p>Дальше создаем и заполняем содержимым все файлы, указанные в этом<br />
конфиге, делаем пользователя squid владельцем папки с кэшем, после чего<br />
создаем кэш и запускаем сквид:</p>
<p><span style="color: #ff0000;"># chown -R squid:wheel /usr/local/squid<br />
# squid -z<br />
# /usr/local/etc/rc.d/squid start<br />
# ps -waux | grep squid<br />
squid       965  0,0  0,1  7688  2076  ??  Is   21:37     0:00,00 /usr/local/sbin/squid -D<br />
squid       967  0,0  1,0 28168 20008  ??  S    21:37     0:06,00 (squid) -D (squid)<br />
squid      1008  0,0  0,0  2532   844  ??  Is   21:37     0:00,00 (unlinkd) (unlinkd)<br />
root       7943  0,0  0,1  6928  1428  p0  S+   16:02     0:00,00 grep squid</span></p>
<p>Теперь опять вернемся к фаерволу. Он у нас есть, открытый - но толку-то от<br />
такого фаервола ? =) Создаем свой скрипт с правилами. У меня он выглядит<br />
так:</p>
<p><span style="color: #0000ff;">#!/bin/sh<br />
# при работе по SSH, чтобы перечитать конфиг набирать nohup sh /etc/rules</span></p>
<p><span style="color: #0000ff;"># Прежде, чем мы начнем, сбросим список<br />
ipfw -q -f flush</span></p>
<p><span style="color: #0000ff;"># Установим префикс команды для набора правил<br />
cmd=&#8221;ipfw -q add&#8221;<br />
skip=&#8221;skipto 400&#8243;<br />
wanip=&#8221;111.111.111.111&#8243; # внешний IP<br />
lannet=&#8221;192.168.0.0/24&#8243; # внутренняя сеть<br />
eif=&#8221;rl0&#8243; # внешний интерфейс</span></p>
<p><span style="color: #0000ff;"># Нет запретов внутри интерфейса смотрящего в локальную сеть<br />
$cmd 010 allow all from any to any via re0</span></p>
<p><span style="color: #0000ff;"># Нет ограничений на Loopback интерфейсе<br />
$cmd 020 allow all from any to any via lo0</span></p>
<p><span style="color: #0000ff;"># Рубим попытки lo0 куда-то лезть и откуда-то лезть на lo0<br />
$cmd 030 deny ip from any to 127.0.0.0/8<br />
$cmd 040 deny ip from 127.0.0.0/8 to any</span></p>
<p><span style="color: #0000ff;"># отправляем всех на прозрачный squid<br />
$cmd 050 fwd 127.0.0.1,3129 tcp from $lannet to any 21,80,443,5190 out via $eif</span></p>
<p><span style="color: #0000ff;"># Входящий NAT<br />
$cmd 060 divert natd ip from any to any in via $eif</span></p>
<p><span style="color: #0000ff;"># Позволяем пакету проходить, если предыдущий был добавлен в<br />
# &#8220;динамическую&#8221; таблицу правил с разрешением состояния keep-state<br />
$cmd 070 check-state</span></p>
<p><span style="color: #0000ff;">############## Outgoing ################</span></p>
<p><span style="color: #0000ff;"># Исходящий PING<br />
$cmd 100 $skip icmp from any to any keep-state</span></p>
<p><span style="color: #0000ff;"># Исходящий NTP<br />
$cmd 105 $skip udp from any to any 123 out via $eif keep-state</span></p>
<p><span style="color: #0000ff;"># Разрешаем DNS<br />
$cmd 110 $skip udp from any to any 53 out via $eif keep-state<br />
$cmd 111 $skip tcp from any to any 53 out via $eif setup keep-state</span></p>
<p><span style="color: #0000ff;"># Выпускаем пользователей в обход сквида<br />
$cmd 140 $skip all from $lannet to any 4899 out via $eif setup keep-state<br />
$cmd 150 $skip all from $lannet to any 3389 out via $eif setup keep-state<br />
$cmd 160 $skip all from $lannet to any 25 out via $eif setup keep-state<br />
$cmd 170 $skip all from $lannet to any 110 out via $eif setup keep-state</span></p>
<p><span style="color: #0000ff;"># Разрешаем полный выход с сервака<br />
$cmd 190 $skip all from $wanip to any out via $eif setup keep-state</span></p>
<p><span style="color: #0000ff;">############# Incoming ################</span></p>
<p><span style="color: #0000ff;"># Запрещаем весь входящий трафик из зарезервированных адресных пространств<br />
$cmd 200 deny all from 192.168.0.0/16  to any in via $eif  #RFC 1918 private IP<br />
$cmd 201 deny all from 172.16.0.0/12   to any in via $eif  #RFC 1918 private IP<br />
$cmd 202 deny all from 10.0.0.0/8      to any in via $eif  #RFC 1918 private IP<br />
$cmd 203 deny all from 127.0.0.0/8     to any in via $eif  #loopback<br />
$cmd 204 deny all from 0.0.0.0/8       to any in via $eif  #loopback<br />
$cmd 205 deny all from 169.254.0.0/16  to any in via $eif  #DHCP auto-config<br />
$cmd 206 deny all from 192.0.2.0/24    to any in via $eif  #reserved for docs<br />
$cmd 207 deny all from 204.152.64.0/23 to any in via $eif  #Sun cluster<br />
$cmd 208 deny all from 224.0.0.0/3     to any in via $eif  #Class D &amp; E multicast</span></p>
<p><span style="color: #0000ff;"># Запрещаем ident<br />
$cmd 215 deny tcp from any to any 113 in via $eif</span></p>
<p><span style="color: #0000ff;"># Запрещаем весь сервис Netbios. 137=имя, 138=дейтаграмма, 139=сессия<br />
$cmd 220 deny tcp from any to any 137 in via $eif<br />
$cmd 221 deny tcp from any to any 138 in via $eif<br />
$cmd 222 deny tcp from any to any 139 in via $eif<br />
$cmd 223 deny tcp from any to any 81  in via $eif</span></p>
<p><span style="color: #0000ff;"># Входящий пинг, несколько типов<br />
$cmd 300 allow icmp from any to $wanip in via $eif icmptypes 0,8,11 limit src-addr 2</span></p>
<p><span style="color: #0000ff;"># Разрешаем входящую www функцию, если есть вэб сервер<br />
$cmd 310 allow tcp from any to $wanip 80 in via $eif setup limit src-addr 2</span></p>
<p><span style="color: #0000ff;"># Разрешаем входящие безопасные SSH, номер порта лучше сменить<br />
$cmd 320 allow tcp from any to $wanip 22 in via $eif setup limit src-addr 2</span></p>
<p><span style="color: #0000ff;"># Разрешаем входящую почту SMTP, если есть почтовый сервер<br />
$cmd 330 allow tcp from any to $wanip 25 in via $eif setup limit src-addr 2</span></p>
<p><span style="color: #0000ff;"># Разрешаем входящую почту POP3, если есть почтовый сервер<br />
$cmd 340 allow tcp from any to $wanip 110 in via $eif setup limit src-addr 2</span></p>
<p><span style="color: #0000ff;"># Разрешаем RAdmin, номер порта лучше сменить<br />
$cmd 350 allow tcp from any to $wanip 4899 in via $eif setup limit src-addr 2</span></p>
<p><span style="color: #0000ff;"># Разрешаем уже установленные соединения<br />
$cmd 360 allow all from any to any established</span></p>
<p><span style="color: #0000ff;">########### Final ###############</span></p>
<p><span style="color: #0000ff;"># рубим все, что не ушло в скип<br />
$cmd 399 deny log all from any to any</span></p>
<p><span style="color: #0000ff;"># Исходящий NAT<br />
$cmd 400 divert natd ip from any to any out via $eif</span></p>
<p><span style="color: #0000ff;"># Выпускаем пакеты из скипа<br />
$cmd 410 allow all from any to any</span></p>
<p><span style="color: #0000ff;"># Режем все лишнее с занесением в лог<br />
$cmd 999 deny log all from any to any</span></p>
<p>Меняем в rc.conf строчку firewall_type=&#8221;open&#8221; на<br />
firewall_script=&#8221;/etc/rules&#8221; и применяем скрипт с правилами:</p>
<p><span style="color: #ff0000;"> # nohup sh /etc/rules</span></p>
<p>Все тщательно проверяем и приходим к выводу, что у нас не работает RAdmin =)</p>
<p>Прокинуть порты на внутренние машины можно стандартными средствами natd,<br />
но лишние проблемы нам не нужны и поэтому мы пойдем другим путем - поставим<br />
из портов rinetd, отвечающий за проброс портов и требующий тривиальной<br />
настройки:</p>
<p><span style="color: #ff0000;"> # cd /usr/ports/net/rinetd<br />
# make install clean<br />
# rehash<br />
</span></p>
<p>Правим его конфиг, у меня примерно так выглядит:</p>
<p>/usr/local/etc/rinetd.conf</p>
<p><span style="color: #0000ff;"> 213.221.56.98 4899 192.168.0.100 4899</span></p>
<p>Добавляем его в rc.conf и стартуем:</p>
<p><span style="color: #ff0000;"> # echo &#8216;rinetd_enable&#8217;=&#8221;YES&#8221; &gt; &gt; rc.conf<br />
# /usr/local/etc/rc.d/rinetd start</span></p>
<p>Постовой: Нужна качественная мебель? Она есть тут - <a href="http://www.internetmagazin-mebel.ru/">www.internetmagazin-mebel.ru</a></p>
]]></content:encoded>
			<wfw:commentRss>http://nixadmin.ru/2008/09/30/internet-shlyuz-na-freebsd.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Домашний сервер - виртуализация на основе Xen</title>
		<link>http://nixadmin.ru/2008/09/30/domashnij-server-virtualizaciya-na-osnove-xen.html</link>
		<comments>http://nixadmin.ru/2008/09/30/domashnij-server-virtualizaciya-na-osnove-xen.html#comments</comments>
		<pubDate>Tue, 30 Sep 2008 17:09:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<category><![CDATA[Unix]]></category>

		<category><![CDATA[VM]]></category>

		<category><![CDATA[Xen]]></category>

		<guid isPermaLink="false">http://nixadmin.ru/?p=134</guid>
		<description><![CDATA[Волей случая, пришлось обновить домашний сервер, в новом сервере оказался процессор core 2 duo и прилично памяти (3 гигабайта). Т.к. обычно сервер использовался в качестве файлопомойки, раутера и музыкального сервера, решил его чем-нибудь занять, чтобы не простаивали ресурсы, благо их теперь достаточно много. Решил настроить довольно популярную в последнее время технологию виртуализации, чтобы было возможно [...]]]></description>
			<content:encoded><![CDATA[<p>Волей случая, пришлось обновить домашний сервер, в новом сервере оказался процессор core 2 duo и прилично памяти (3 гигабайта). Т.к. обычно сервер использовался в качестве файлопомойки, раутера и музыкального сервера, решил его чем-нибудь занять, чтобы не простаивали ресурсы, благо их теперь достаточно много. Решил настроить довольно популярную в последнее время технологию виртуализации, чтобы было возможно проводит различные опыты с настройкой и собирать пакеты в различных дистрибутивах/системах.<span id="more-134"></span><br />
<strong>Технологии и системы</strong></p>
<p>Для начала, рассмотрим существующие технологии виртуализации:</p>
<p>1. OpenVZ<br />
Технология заключается в выполнении различных систем с разными настройками и корневой системой под одним ядром. Данная технология часто используется при предоставлении услуги VDS/VPS. Т.к. ядро по сути одно и тоже, потеря производительности минимальна, но выбор систем ограничивается дистрибутивами linux’а с одним ядром. Существует платный вариант данной системы с большим количеством функций: Virtuozzo.<br />
2. Xen<br />
В основе лежит технология паравиртуализации. Вкратце: гостевая система специально подготавливается для работы с Xen, и соответственно получается довольно небольшая потеря производительности. В качестве гостевой системы может выступать Linux (ядро гостевой системы может отличатся от ядра основной системы), FreeBSD, NetBSD, OpenBSD, OpenSolaris, Plan 9 и другие. Также возможен запуск практически любой системе через технологии виртуализации Intel/AMD, но нужен процессор с поддержкой данных архитектур. Мой сервер, в отличии от ноутбука как оказалось не поддерживает данные технологии, по этому данный метод виртуализации расcматриваться не будет.<br />
3. VirtualBOX/VMWare/Qemu и подобные системы эмуляции.<br />
Данные системы обеспечивают эмуляцию, ценой потери производительности, по этому они рассматриваться не будут.</p>
<p>Xen является наиболее оптимальным вариантом, т.к. имеет возможность виртуализации достаточно большого количества ОС при минимальной потери производительности.<br />
Установка и настройка</p>
<p>Все действия проводились на домашнем сервере с ubuntu-server, для других дистрибутивов возможно придется немного изменить действия.Первоначально нужно установить ядро и необходимый набор утилит:</p>
<p><span style="color: #ff0000;">apt-get install linux-headers-2.6.24-19-xen linux-image-2.6.24-19-xen<br />
linux-ubuntu-modules-2.6.24-19-xen xen-hypervisor-3.2 xen-tools</span></p>
<p>Перезагружаемся в новое ядро и устанавливаем xen-utils-3.2:</p>
<p><span style="color: #ff0000;">apt-get install xen-utils-3.2</span></p>
<p>Важно: если до установки xen-3.2 вы пытались установить xen-3.1, необходимо удалить все пакеты содержащие упоминания xen3.1, после становить xen-hypervisor-3.2, и перезагрузится, т.к. xen-hypervisor вносит некоторые правки для загрузки ядра. Если попытаться установить xen-utils-3.2 до перезагрузки, выйдет ошибка, т.к. xend не сможет загрузится на ядре для этого не предназначенном. Те же симптомы будут при попытки установить enomalism (web интерфейс для управления xen), т.к. он тянет за собой xen3.1<br />
<strong>Xen + Nvidia</strong></p>
<p>Так получилось, что у меня видео-карта от Nvidia, и на данном сервере планируется запустить медиацентр, соответственно приходится использовать пропиетарные драйвера. Изначально попробовал установить через envyng (связка скриптов для удобной установки пропиетарных драйверов видео-карт в ubuntu), но ядро запаниковало. При попытке удалить драйвер и собрать руками возникла неприятная вещь: перезагружаясь в ядро, dkms заново устанавливал драйвер. Пришлось удалить драйвер на всех ядрах (dkms remove -m nvidia -v 173.14.12 –all) и ставить руками. При установки не envy драйверов, устанавливаеться старая версия (9x.xx.xx), с которой возможны проблемы. Нужно сразу сказать, что стандартный драйвер ругается на xen ядро, и устанавливатся отказывается. Небольшой рецепт чтобы это обойти:Т.к. драйверу необходимы права root’а для установки, а при sudo не используются переменные текущего пользователя, то все команды нужно выполнять от рута. В связи с тем, что в ubuntu нет пароля у рута, и неизвестно как скажется на системе его установка, приходится использовать небольшое ухищрение чтобы получить консоль с правами суперпользователя: sudo su или sudo bash(zsh, csh, etc)</p>
<p><span style="color: #ff0000;"># export IGNORE_XEN_PRESENCE=1<br />
# chmod a+x NVIDIA-Linux-x86-173.14.12-pkg2.run<br />
# ./NVIDIA-Linux-x86-173.14.12-pkg2.run &lt;/i&gt;<br />
</span><br />
После завершения установки необходимо выйти из консоли суперпользователя: exitВнимание: данный метод установки не рекомендован и является довольно плохой практикой, в связи с тем что будет довольно сложно в будущем удалить данный драйвер, но т.к. иного способа нет, а создавать и поддерживать пакет для этих целей, который возможно будет конфликтовать с пакетами в репозитории довольно проблематично, я использовал этот способ. Вы можете собрать пакет с драйверами.<br />
Создание и использование образов</p>
<p>В xen можно использовать как готовые образы для виртуальных машин, так и создавать свои. Большой архив готовых образов есть на jailtime.org. Мы же будем создавать свой образ, с помощью xen-utils.Образы создаются с помощью команды xen-create-image.Создадим образ с debian etch 64-bit:</p>
<p><span style="color: #ff0000;">xen-create-image -hostname=имя-машины -size=10Gb -swap=512Mb -ide -ip=192.168.0.100<br />
-netmask=255.255.255.0 -gateway=192.168.0.1 -force -dir=/xen -memory=128Mb -arch=amd64 -dist=etch<br />
-passwd</span></p>
<p>Важно: основная система должна быть 64-битная, чтобы была возможность создавать 64-битные гостевые системы.Опции:</p>
<p><span style="color: #0000ff;">* hostname: хостнейм системы, а также имя образа<br />
* size: размер диска образа<br />
* swap: размер swap файла для образа<br />
* ide: использовать ide драйвер для диска<br />
* ip: ip адрес образа<br />
* netmask: маска сети образа<br />
* gateway: ip адрес маршрутизатора (в данном случае ip основной системы)<br />
* force: переписывает уже созданные образы<br />
* dir: директория в которой будет содержатся образ<br />
* memory: размер памяти выделяемый для системы<br />
* arch: архитектура системы (amd64, i386, etc)<br />
* dist: дистрибутив который Вы хотите установить<br />
* passwd: запрашивать пароль суперпользователя для образа</span></p>
<p>запускаем машину на основе созданного образа:</p>
<p><span style="color: #ff0000;">xm create /etc/xen/имя-машины.cfg</span></p>
<p>Т.к. мы используем xen3.2 скорей всего вывалится сообщение об ошибке:</p>
<p><span style="color: #ff0000;">Error: Device 769 (vbd) could not be connected. losetup /dev/loop0<br />
/xen/domains/имя-машины/swap.img failed</span></p>
<p>Это связанно с тем, что xen-tools3.2 в конфигурационном файле использует пути до файлов дисков через file:/, тогда как этот параметр удален из Xen3.2. Чтобы данной ошибки не было, необходимо в конфигурационном файле /etc/xen/имя-машины.cfg в секции disk заменить пути с file:/xen/…на tap: aio:/xen/…Также необходимо настроить поддержку сети на основной системе, для этого в файлу /etc/network/interfaces нужно добавить к внутреннему интерфейсу следующие параметры:</p>
<p><span style="color: #ff0000;">up ip addr 192.168.0.100/28 dev eth0</span></p>
<p>Теперь у нас есть виртуальная машина, к которой можно присоединиться по сети, с любого компьютера.В случае если машина загрузилась, но что-то пошло не так, всегда можно зайти в локальную консоль с помощью команды: xm console имя_машиныДля автозагрузки виртуальной машины при старте системы необходимо сделать симлинк с конфигурационного файла машины в /etc/xen/auto:</p>
<p><span style="color: #ff0000;">ln -s /etc/xen/имя-машины.cfg /etc/xen/auto/</span></p>
<p>Основные команды для управления виртуальными машинами:<br />
<span style="color: #0000ff;"><br />
* xm console — вызывает первый терминал виртуальной машины<br />
* xm create — запускает виртуальную машину на основе конфигурационного файла<br />
* xm pause — временно останавливает виртуальную машину<br />
* xm unpause — запускает виртуальную машину после остановки<br />
* xm save — сохраняет состояние виртуальной машины<br />
* xm restore — востанавливает состояние виртуальной машины<br />
* xm reboot — перезагружает виртуальную машину<br />
* xm shutdown — выключает виртуальную машину<br />
* xentop — показывает текущую загрузку всех виртуальных машин<br />
* xm list — список запущенных виртуальных машин<br />
* xm dmesg — показывает dmesg виртуальной машины<br />
* xm delete — удаляет виртуальную машину<br />
* xm destroy — принудительно удаляет виртуальную машину</span></p>
<p>Вот собственно и все. Позже возможно напишу про развертывание Xen на production-сервере с использование LVM.</p>
<p>Постовой: Делаете ремонт? Вам нужен - <a href="http://www.vseinstrumenti.ru/">электроинструмент</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://nixadmin.ru/2008/09/30/domashnij-server-virtualizaciya-na-osnove-xen.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Организация установки FreeBSD с USB Flash</title>
		<link>http://nixadmin.ru/2008/09/30/organizaciya-ustanovki-freebsd-s-usb-flash.html</link>
		<comments>http://nixadmin.ru/2008/09/30/organizaciya-ustanovki-freebsd-s-usb-flash.html#comments</comments>
		<pubDate>Tue, 30 Sep 2008 16:17:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[FreeBSD]]></category>

		<category><![CDATA[Unix]]></category>

		<category><![CDATA[Install]]></category>

		<category><![CDATA[USB]]></category>

		<guid isPermaLink="false">http://nixadmin.ru/?p=130</guid>
		<description><![CDATA[Иногда возникает необходимость создать установочный Flash-диск с FreeBSD,
но без переформатирования FAT-раздела на Flash, при сохранении размещенных там данных.
Загружаем с ftp.freebsd.org минимальный установочный образ 6.3-RELEASE-i386-bootonly.iso
ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/ISO-IMAGES/6.3/6.3-RELEASE-i386-bootonly.iso
Создаем на его основе ram-диск. Операции выполняются на FreeBSD системе,
при необходимости временно FreeBSD можно поставить в KVM, VmWare или VirtualBox.

Создаем образ RAM-диска размером чуть больше bootonly.iso:
 dd if=/dev/zero of=boot.img bs=1k count=26000
Подключаем ram-диск:
 [...]]]></description>
			<content:encoded><![CDATA[<p>Иногда возникает необходимость создать установочный Flash-диск с FreeBSD,<br />
но без переформатирования FAT-раздела на Flash, при сохранении размещенных там данных.</p>
<p>Загружаем с ftp.freebsd.org минимальный установочный образ 6.3-RELEASE-i386-bootonly.iso<br />
<strong>ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/ISO-IMAGES/6.3/6.3-RELEASE-i386-bootonly.iso</strong></p>
<p>Создаем на его основе ram-диск. Операции выполняются на FreeBSD системе,<br />
при необходимости временно FreeBSD можно поставить в KVM, VmWare или VirtualBox.<br />
<span id="more-130"></span><br />
Создаем образ RAM-диска размером чуть больше bootonly.iso:</p>
<p><span style="color: #ff0000;"> dd if=/dev/zero of=boot.img bs=1k count=26000</span></p>
<p>Подключаем ram-диск:</p>
<p><span style="color: #ff0000;"> mdconfig -a -t vnode -f boot.img -u 0</span></p>
<p>Устанавливаем загрузочный сектор и размечаем по умолчанию:</p>
<p><span style="color: #ff0000;"> bsdlabel -w -B md0 auto</span></p>
<p>Создаем файловую систему:</p>
<p><span style="color: #ff0000;"> newfs -m 0 md0a</span></p>
<p>Монтируем созданную ФС ram-диска:</p>
<p><span style="color: #ff0000;">mkdir /mnt/img<br />
mount /dev/md0a /mnt/img</span></p>
<p>Монтируем iso-образ и переносим с него данные на ram-диск:</p>
<p><span style="color: #ff0000;">mkdir /mnt/iso<br />
mdconfig -a -t vnode -f 6.3-RELEASE-i386-bootonly.iso -u 1<br />
mount_cd9660 /dev/md1 /mnt/iso<br />
cd /mnt/img/<br />
cp -r /mnt/iso/* .</span></p>
<p>Размонтируем:</p>
<p><span style="color: #ff0000;">cd<br />
umount /mnt/img /mnt/iso<br />
mdconfig -d -u 0<br />
mdconfig -d -u 1</span></p>
<p>Загружаем Linux, можно LiveCD.<br />
Копируем boot.img на Flash диск.<br />
Копируем на Flash файл memdisk из комплекта syslinux.<br />
Ставим syslinux на Flash (/dev/sdb1):</p>
<p><span style="color: #ff0000;"> syslinux -s /dev/sdb1</span></p>
<p>Создаем в корне файл syslinux.cfg:</p>
<p><span style="color: #ff0000;">label freebsd<br />
kernel /memdisk<br />
append initrd=/boot.img harddisk</span></p>
<p>Если не грузится, ругаясь на MBR, заменяем MBR на содержимое файла mbr.bin из комплекта syslinux:<br />
<span style="color: #ff0000;">dd if=/dev/sdb of=mbr_backup.bin bs=1 count=512<br />
cat mbr.bin &gt; /dev/sdb<br />
</span><br />
Проверить можно через QEMU:<br />
<span style="color: #ff0000;"> qemu -hda /dev/sdb1 -std-vga</span></p>
<p>При установке выбираем метод получения установочных файлов по FTP или копируем их на Flash<br />
(директорию 6.3-RELEASE из 6.3-RELEASE-i386-disc1.iso).</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
В случае когда USB Flash не жалко отформатировать, можно можно создать<br />
загрузочный<br />
USB Flash следующим образом:</p>
<p><span style="color: #ff0000;"> fdisk -BI /dev/da2<br />
bsdlabel -w -B /dev/da2s1<br />
newfs /dev/da2s1a<br />
mount /dev/da2s1a /mnt</span></p>
<p>Копируем в /mnt содержимое содержимое 6.3-RELEASE-i386-bootonly.iso</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
Установка загрузчика FreeBSD на Flash из Linux:</p>
<p>Делаем бэкап текущего MBR USB диска:<br />
<span style="color: #ff0000;"> dd if=/dev/sdb of=mbr_sdb.bin bs=1 count=512</span></p>
<p>Берем boot0 из комплекта FreeBSD и копируем в него данные о таблицах разделов текущего диска:<br />
<span style="color: #ff0000;"> dd if=mbr_sdb.bin  of=boot0   bs=1 count=66 skip=446 seek=446</span></p>
<p>Копируем загрузчик в MBR USB диска:<br />
<span style="color: #ff0000;"> dd if=boot0 of=/dev/sdb  bs=1 count=512</span></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
Полезный скрипт для преобразования ISO в UFS-образ</p>
<p>Запускается <span style="color: #ff0000;">./fbsd-install-iso2img.sh iso-path img-path</span></p>
<p><span style="color: #ff0000;">#!/bin/sh</span></p>
<p><span style="color: #ff0000;"># You can set some variables here. Edit them to fit your needs.</span></p>
<p><span style="color: #ff0000;"># Set serial variable to 0 if you don&#8217;t want serial console at all,<br />
# 1 if you want comconsole and 2 if you want comconsole and vidconsole<br />
serial=3D0</span></p>
<p><span style="color: #ff0000;">set -u</span></p>
<p><span style="color: #ff0000;">if [ $# -lt 2 ]; then<br />
echo &#8220;Usage: $0 source-iso-path output-img-path&#8221;<br />
exit 1<br />
fi</span></p>
<p><span style="color: #ff0000;">isoimage=3D$1; shift<br />
imgoutfile=3D$1; shift</span></p>
<p><span style="color: #ff0000;">export tmpdir=3D$(mktemp -d -t fbsdmount)<br />
# Temp file and directory to be used later<br />
export tmpfile=3D$(mktemp -t bsdmount)</span></p>
<p><span style="color: #ff0000;">export isodev=3D$(mdconfig -a -t vnode -f ${isoimage})</span></p>
<p><span style="color: #ff0000;">echo &#8220;#### Building bootable UFS image ####&#8221;</span></p>
<p><span style="color: #ff0000;">ISOSIZE=3D$(du -k ${isoimage} | awk &#8216;{print $1}&#8217;)<br />
SECTS=3D$((($ISOSIZE + ($ISOSIZE/5))*2))</span></p>
<p><span style="color: #ff0000;"># Root partition size</span></p>
<p><span style="color: #ff0000;">echo &#8220;Initializing image&#8230;&#8221;<br />
dd if=3D/dev/zero of=3D${imgoutfile} count=3D${SECTS}<br />
ls -l ${imgoutfile}<br />
export imgdev=3D$(mdconfig -a -t vnode -f ${imgoutfile})</span></p>
<p><span style="color: #ff0000;">bsdlabel -w -B ${imgdev}<br />
newfs -O1 /dev/${imgdev}a</span></p>
<p><span style="color: #ff0000;">mkdir -p ${tmpdir}/iso ${tmpdir}/img</span></p>
<p><span style="color: #ff0000;">mount -t cd9660 /dev/${isodev} ${tmpdir}/iso<br />
mount /dev/${imgdev}a ${tmpdir}/img</span></p>
<p><span style="color: #ff0000;">echo &#8220;Copying files to the image&#8230;&#8221;<br />
( cd ${tmpdir}/iso &amp;&amp; find . -print -depth | cpio -dump ${tmpdir}/img )<br />
#bzcat ${tmpdir}/iso/dist/root.dist.bz2 | mtree -PUr -p ${tmpdir}/img 2&gt;&amp;=<br />
1 &gt; /dev/null</span></p>
<p><span style="color: #ff0000;">#echo &#8220;/dev/ufs/${UFS_LABEL} / ufs ro 1 1&#8243; &gt; ${tmpdir}/img/etc/fstab</span></p>
<p><span style="color: #ff0000;">if [ ${serial} -eq 2 ]; then<br />
echo &#8220;-D&#8221; &gt; ${tmpdir}/img/boot.config<br />
echo &#8216;console=3D&#8221;comconsole, vidconsole&#8221;&#8216; &gt;&gt; ${tmpdir}/img/boot/l=<br />
oader.conf<br />
elif [ ${serial} -eq 1 ]; then<br />
echo &#8220;-h&#8221; &gt; ${tmpdir}/img/boot.config<br />
echo &#8216;console=3D&#8221;comconsole&#8221;&#8216; &gt;&gt; ${tmpdir}/img/boot/loader.conf<br />
fi</span></p>
<p><span style="color: #ff0000;">cleanup() {<br />
umount ${tmpdir}/iso<br />
mdconfig -d -u ${isodev}<br />
umount ${tmpdir}/img<br />
mdconfig -d -u ${imgdev}<br />
rm -rf ${tmpdir} ${tmpfile}<br />
}</span></p>
<p><span style="color: #ff0000;">cleanup</span></p>
<p><span style="color: #ff0000;">ls -lh ${imgoutfile}</span></p>
<p>Постовой:  <a href="http://rehair.ru">Восстановление волос</a></p>
]]></content:encoded>
			<wfw:commentRss>http://nixadmin.ru/2008/09/30/organizaciya-ustanovki-freebsd-s-usb-flash.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Управление дисками - parted</title>
		<link>http://nixadmin.ru/2008/09/29/upravlenie-diskami-parted.html</link>
		<comments>http://nixadmin.ru/2008/09/29/upravlenie-diskami-parted.html#comments</comments>
		<pubDate>Mon, 29 Sep 2008 01:41:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Unix]]></category>

		<category><![CDATA[parted]]></category>

		<guid isPermaLink="false">http://nixadmin.ru/?p=128</guid>
		<description><![CDATA[Утилита parted позволяет:
* Просматривать существующую таблицу разделов
* Изменять размер существующих разделов
* Создавать/удалять разделы
Запустите parted указав в качестве параметра имя жесткого диска (например /dev/sda):
parted /dev/sda
(Для смены диска после запуска parted используйте команду select)
Устройство, на котором требуется создать/изменить раздел, не должно использоваться: все его разделы должны быть размонтированы, swap разделы отключены. Это требуется, поскольку ядро linux может [...]]]></description>
			<content:encoded><![CDATA[<p>Утилита parted позволяет:</p>
<p>* Просматривать существующую таблицу разделов<br />
* Изменять размер существующих разделов<br />
* Создавать/удалять разделы</p>
<p>Запустите parted указав в качестве параметра имя жесткого диска (например /dev/sda):</p>
<p><span style="color: #ff0000;">parted /dev/sda</span><span id="more-128"></span></p>
<p>(Для смены диска после запуска parted используйте команду select)</p>
<p>Устройство, на котором требуется создать/изменить раздел, не должно использоваться: все его разделы должны быть размонтированы, swap разделы отключены. Это требуется, поскольку ядро linux может некорректно распознать изменения. Если таблица разделов не соответствует реальному состоянию смонтированных разделов – информация может быть записана на ошибочный раздел, вызвав повреждения и/или потерю данных.</p>
<p>Просмотр таблицы разделов:</p>
<p>После запуска parted используйте команду print для просмотра таблицы разделов:<br />
Обычный вывод выглядит следующим образом:</p>
<p>Model: ATA ST3160812AS (scsi)</p>
<p>Disk /dev/sda: 160GB</p>
<p>Sector size (logical/physical): 512B/512B</p>
<p>Partition   Table: msdosNumber  Start   End    Size    Type         File system       Flags</p>
<p>1            32.3kB  107MB  107MB                               primary      ext3                 boot</p>
<p>2            107MB   105GB  105GB                               primary       ext3</p>
<p>3            105GB   107GB  2147MB                             primary      linux-swap</p>
<p>4            107GB   160GB  52.9GB                            extended                               root</p>
<p>5            107GB   133GB  26.2GB                              logical        ext3</p>
<p>6            133GB   133GB  107MB                              logical        ext3</p>
<p>7            133GB   160GB  26.6GB                              logical                lvm</p>
<p>Первая часть содержит описание диска: Модель, производителя интерфейс и т.д., вторая – таблицу разделов.</p>
<p>Создание разделов:</p>
<p>Для создания разделов используется команда mkpart:</p>
<p><span style="color: #ff0000;">mkpart &lt;тип-раздела&gt; &lt;тип-фс&gt; &lt;от&gt; &lt;до&gt;</span></p>
<p>Создает раздел заданного типа с заданной фс размещая его в пределах: &lt;от&gt; мегабайт и &lt;до&gt; мегабайт</p>
<p>Пример создания раздела размером в 1024 мегабайта, размещенного между 1024мб и 2048 мб:</p>
<p><span style="color: #ff0000;">mkpart primary ext3 1024 2048</span></p>
<p>Форматирование файловых систем:</p>
<p>После создания раздела, на нем нужно создать файловую систему, это можно сделать вне parted с помощью команды mkfs</p>
<p><span style="color: #ff0000;">mkfs –t &lt;тип_фс&gt; &lt;устройство&gt;</span></p>
<p>Например, для создания файловой системы ext3 на разделе /dev/sda6:</p>
<p><span style="color: #ff0000;">mkfs –t ext3 /dev/sda6</span></p>
<p>Присвоение меток:<br />
Присвоим разделу меткy для более удобного использования в дальнейшем: если мы создали раздел /dev/sda6 присвоим ему метку work</p>
<p><span style="color: #ff0000;">e2label /dev/sda6 /work</span></p>
<p>Добавление в /etc/fstab</p>
<p>Добавим созданный нами раздел в /etc/fstab для автоматического монтирования в директорию /work (убедитесь, что она существует):</p>
<p><span style="color: #ff0000;">LABEL=/work           /work                 ext3    defaults        1 2</span></p>
<p>Первое поле определяет что мы монтируем (там могло стоять /dev/sda6 если бы мы не создали метку), второе поле – куда мы монтируем, затем следует тип файловой системы и список параметров монтирования (в данном случае стандартные - «defaults»)</p>
<p>Смонтировать раздел добавленный в нами в fstab можно с помощью</p>
<p><span style="color: #ff0000;"> mount /work</span></p>
<p>Удаление разделов</p>
<p>Для удаления разделов используется команда parted - rm</p>
<p>Например мы решили удалить 3й раздел диска /dev/sda:</p>
<p><span style="color: #ff0000;">parted /dev/sda</span></p>
<p><span style="color: #ff0000;">rm 3</span></p>
<p>Изменение размера раздела:</p>
<p>Для изменения раздела используется команда parted resize</p>
<p>Например мы решили установить раздел 3 диска /dev/sda в 1024 мегабайта расположив в пределах от 1024 до 2048 мбайт диска:</p>
<p><span style="color: #ff0000;">parted /dev/sda</span></p>
<p>resize 3 1024 2048</p>
<p>Нужен мобильник? Только современные <a href="http://mobile-on.ru/">сотовые телефоны</a> по разумным ценам.</p>
]]></content:encoded>
			<wfw:commentRss>http://nixadmin.ru/2008/09/29/upravlenie-diskami-parted.html/feed</wfw:commentRss>
		</item>
	</channel>
</rss>

