среда, 4 декабря 2013 г.

Поиск и перенос старых файлов писем в FreeBSD

Из за нехватки места на старом почтовике пришлось разгребать по-быстрому почту, требование было ее куда-нибудь перенести на свободный раздел, но не удалять. Сделала всё одна команда:

find /var/mail/virtual/мой_домен/ -name "*мой_домен,S*" -type f \! -newermt '1 year ago' -exec mv {} /usr/old_mail/ \;

Все файлы из виртуального домена Эксима, включающие в себя его имя (обычно это как раз файлы писем) изменявшиеся более года назад переносятся в каталог /usr/old_mail.

Как сбросить настройки mikrotik rb750 rb751 rb951-2n

Практически все устройства mikrotik сбрасываются к заводским настройкам следующим образом:

Выключить устройство , зажать кнопку RESET, включить устройство, отпустить зажатую RESET когда замигает ACT, примерно 5-10 секунд.

В случае если отпустить после того как погаснет ACT , то активируется NETINSTALL

Для сброса через WINBOX следует нажать NewTerminal, там написать system reset-configuration и подтвердить клавишей «y»

пятница, 18 октября 2013 г.

Настройка кластерного файлового хранилища на базе GlusterFS и Samba

Создадим зеркалируемое между двумя машинами хранилище файлов на базе GlusterFS (www.glusterfs.com). В качестве операционной системы возьмём, к примеру, Ubuntu Server. Сервера используют адреса 192.168.1.2 и 192.168.1.3 соответственно.

1. Установим из репозитария серверную часть GlusterFS:

apt-get install glusterfs-server

Для организации хранилища будем использовать каталог /glusterfs/export. Теперь приведём файл конфигурации (/etc/glusterfs/glusterd.vol) к следующему виду:


volume posix
  type storage/posix
  option directory /glusterfs/export
end-volume

volume locks
  type features/locks
  subvolumes posix
end-volume

volume brick
  type performance/io-threads
  option thread-count 8
  subvolumes locks
end-volume

volume server
  type protocol/server
  option transport-type tcp
  option auth.addr.brick.allow 192.168.1.2,192.168.1.3
  subvolumes brick
end-volume


В качестве IP-адресов хостов клиентов не обязательно указывать точные адреса, можно использовать маски вида 192.168.1.* и перечислять сети и хосты через запятую.

Запускаем сервер GlusterFS:

/etc/init.d/glusterfs-server start

2. Установим из репозитария клиентскую часть GlusterFS:

aptitude install glusterfs-client

Файловое хранилище будем монтировать в каталог /glusterfs/samba& Теперь приведём файл конфигурации (/etc/glusterfs/glusterfs.vol) к следующему виду:


volume remote1
  type protocol/client
  option transport-type tcp
  option remote-host 192.168.1.2 # ubuntu-samba1
  option remote-subvolume brick
end-volume

volume remote2
  type protocol/client
  option transport-type tcp
  option remote-host 192.168.1.3 # ubuntu-samba2
  option remote-subvolume brick
end-volume

volume replicate
  type cluster/replicate
  subvolumes remote1 remote2
end-volume

volume writebehind
  type performance/write-behind
  option window-size 1MB
  subvolumes replicate
end-volume

volume cache
  type performance/io-cache
  option cache-size 512MB
  subvolumes writebehind
end-volume

3. Монтируем файловую систему GlusterFS в каталог /glusterfs/samba:

glusterfs -f /etc/glusterfs/glusterfs.vol /glusterfs/samba
или
mount -t glusterfs /etc/glusterfs/glusterfs.vol /glusterfs/samba

Чтобы автоматизировать процесс монтирования при загрузке добавим в /etc/fstab следующую строчку:

/etc/glusterfs/glusterfs.vol /glusterfs/samba glusterfs defaults 0 0

4. Установим из репозитария Samba:


apt-get install samba


Приведем файл конфигурации /etc/samba/smb.conf к следующему виду:


[global]
   workgroup = samba-cluster
   server string = Ubuntu-Samba1 (на втором сервере Samba2)
   security = user
   map to guest = bad user
   hosts allow = 192.168.1. 127.
   load printers = no
   log file = /var/log/samba/log.%m
   max log size = 50
   socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=8192 SO_SNDBUF=8192
   interfaces = eth0 lo0
   dns proxy = no

[netlogon]
   comment = Network Logon Service
   path = /etc/samba/netlogon
   guest ok = yes
   writable = no
   browseable = no
   posix locking = no
   oplocks = no
   level2 oplocks = no

[IPC$]
   path = /etc/samba/tmp
   writable = no
   browseable = no
   hosts allow = 192.168.1.0/24
   hosts deny = 0.0.0.0/0
   posix locking = no
   oplocks = no

   level2 oplocks = no

[Public]
   path = /glusterfs/samba/Public
   comment = Общее хранилище
   public = yes
   writeable = yes
   read list = guest
   write list = guest
   posix locking = no
   oplocks = no
   level2 oplocks = no
   guest ok = yes
   read only = no
   hosts allow = 192.168.1.0/24
   hosts deny = 0.0.0.0/0

[Home]
   path = /glusterfs/samba/Home
   comment = Домашние каталоги
   public = yes
   writeable = yes
   read list = guest
   write list = guest
   posix locking = no
   oplocks = no
   level2 oplocks = no
   guest ok = yes
   read only = no
   hosts allow = 192.168.1.0/24
   hosts deny = 0.0.0.0/0

Настройки доступа к Samba можно конфигурировать в соответствии со своими предпочтениями, но блокировки требуются именно такие, иначе некоторые приложения могут работать с хранилищем некорректно.





вторник, 10 сентября 2013 г.

Создание Access VLAN на Mikrotik

Столкнулся с проблемой создания на микротике access vlan'a, аналогичного настройке на циске "switchport mode access", так как при создании vlan'ы привязываются к порту и становятся trank mode. Оказалось ларчик довольно просто открывался.

К примеру, нам надо сделать два access-порта (ether1 и ether2) для vlan10 и прокинуть их транком в порт ether3.
1. Создаем vlan 10 на порту 3:
/interface vlan add name=vlan10 interface=ether3 vlan-id=10
2. Создаем интерфейс bridge:
/interface bridge add name=bridge-vlan10
3.Конфигурируем access-порты для 10-го vlan'a:
/interface bridge port add bridge=bridge-vlan10 interface=ether1
/interface bridge port add bridge=bridge-vlan10 interface=ether2
/interface bridge port add bridge=bridge-vlan10 interface=vlan10
4. Вот, собственно, и всё.

понедельник, 3 июня 2013 г.

Полезные команды LINUX & FreeBSD


FreeBSD


Поключаемся удаленно к физической консоли (например к 7-ой) и авторизируемся в ней:

[root@srv] # watch -W ttyv7
root
Password:

Теперь выходим из watch нажатием сочетания клавиш Ctrl+G. Читаем лог обновления.


Количество установленных соединений с сервером и их состояние:

[root@srv] # netstat -an|awk '/tcp/ {print $6}'|sort|uniq -c


Просмотр лога в реальном времени:

[root@srv] # tail -f /var/log/httpd-error.log|grep 'PHP Fatal error'|colorize
Так же можно воспользоваться multitail, где grep можно не использовать - есть ключи -e "выражение" и -ev "выражение".


Удалить файлы, старше N дней:

find /home/user -type f -mtime +N -exec rm {} \;


Количество последних ребутов:

[root@srv] #last reboot


Создать и забить файл нулями:

dd if=/dev/zero of=/file bs=1G count=3


Пересобираем ядро FreeBSD:

cd /usr/src
make buildkernel KERNCONF=MYKERNEL
make installkernel KERNCONF=MYKERNEL



Простенький WEB-сервер на питоне:

python -m SimpleHTTPServer


Показывает размеры очередей на слушающих портах:

netstat -Lan


Монтирование SMB-ресурсов:

mount_smbfs -I IP -W MYDOMAIN -E koi8-ru:cp866 //username@SERVERNAME/Shared /mnt/ad2/shared


Посмотр железа в FreeBSD:

dmidecode
pciconf -l



Просмотр температуры CPU:

kldload coretemp
sysctl -a | grep temp



Установит дату в 16:32 2010-05-20

date 1005201632


Убираем непечатаемые символы(^M) Windows в файлах:

cat file.txt | tr -d "\r" > new.file.txt


Статистика загруженности сетевых интерфейсов в реальном времени:

systat -ifstat 1


Статистика загруженности CPU, MEMORY в реальном времени:

systat -vmstat 1


Статистика загруженности CPU, каждое ядро отдельно:

top -SPH


Отправка эл. почты с консоли:

echo "текст письма" | mail -s "тема" admin@example.com


Посмотреть размер каджого каталога:

[root@srv ~]# du -d 1 -c -h /var


Показать 10 последних введённых команд в shell:

history 10


Кто был или находится в системе:

#last
#who
#w


10 последних входов в систему:

[root@srv ~]#last -10


Сканируем все открытые порты:

root@lar:~# nmap -p 1-65535 IP


Меняем Shell пользователю используемый по умолчанию, например root-у:

[root@srv ~]# chpass -s /usr/local/bin/bash root
chpass: user information updated

или так:

[root@srv ~]#pw usermod root -s /usr/local/bin/bash

Узнаем размер каталога:

[root@srv /]#du -hsx /tmp


Проверяем скорость передачи данных и времени позиционирования головок:

diskinfo -t /dev/da10
diskinfo -c /dev/da10



Обновление IP-адреса в FreeBSD:

[root@srv /]#/etc/rc.d/netif restart


Обновление роутинга в FreeBSD:

[root@srv /]#/etc/rc.d/routing restart


LINUX

Установит дату в 16:32 2010-05-20

date 0520163210

Добавляем алиасы на eth0:

ifconfig eth0:0 inet 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255


Просмотр таблицы SMART:

smartctl --all /dev/sdb


Посмотреть какой socket программа держит (Linux):

netstat -pvlA inet
lsof -i -U



Информация о нагрузке - процессор, память

procinfo -D -n1
vmstat 1
vmstat -sa

Память:

vmstat -sa
free
cat /proc/meminfo

Процессор:

iostat -c 1
cat /proc/cpuinfo


Монтирование SMB-ресурсов по CIFS:

mount -t smbfs -o username=<пользователь>,password=<пароль>,iocharset=koi8-r,codepage=cp866,fmask=666,dmask=777 //Имя сервера/шарый ресурс/локальная_точка_монтирования

mount -t cifs //192.168.1.14/Shared /mnt/shared/ -o username=,password=,domain=


Список открытых портов в LINUX:

$netstat -na | grep LISTEN

вторник, 21 мая 2013 г.

Установка Elastix с флешки

Для установки эластикса с флеш-накопителя нужно проделать всего несколько действий:

1. Качаем требуемый дистрибутив эластикса с сайта www.elastix.org
2. После скачивания образа эластикса, надо его перенести на флешку с помощью программы Unetbootin
3. Для этого запускаем её, выбираем пункт "Образ диска" (здесь выбираем скачаный нами ISO-образ эластикса) и флешку, на которую этот образ установить. Жмём Ок.
4. После развертывания дистрибутива на флеш-накопитель закрываем программу, заходим на флешку и редактируем файл ks_default.cfg, закомментировав в нём строку cdrom.
5. Теперь создаем папку iso в корне флеш-накопителя и копируем туда образ дистрибутива Elastix.

Вот, собственно, и всё.

Ну и установка эластикса:

1. Теперь при установке эластикса с флешки, при выдаче ошибки поиска файла cdrom://ks_default.cfg мы меняем путь поиска этого файла на hd:sdb1//ks_default.cfg , после чего установка может быть продолжена в стандартном порядке.
2. Когда мы доходим до вопроса инсталлятора откуда устанавливать систему, выбираем Hard Drive, потом выбираем нашу флешку и в поле Directory holding images пишем iso.
3. Как только появится однотонный синий цвет монитора. Вам необходимо извлечь USB из компьютера, чтобы флэш-накопитель не определился в настройках разделов дисков, иначе установка разместит загрузчик системы на USB-накопителе и система не сможет стартовать без этой флэшки.
4. После разбивки диска не забываем вновь вставить флешку и продолжить установку, после установки перед перезагрузкой не забудьте ее вновь убрать.

На этом особенности установки эластикса с флеш-накопителя заканчиваются.

Установка драйверов сетевых адаптеров Intel 82579LM и D-link 528T на ESXi5

Не смотря на долгое пользование системами виртуализации VMware (ESX, ESXi, Vsphere и тд, а так же создание на них разнообразных HA-кластеров), я ни разу не сталкивался с проблемами совместимости сетевых адаптеров с системой (объяснение простое - оборудование всегда подбирал с учетом рекомендаций vmware на и сайте). Но всё когда-нибудь происходит в первые, вчера меня попросили поставить esxi с бесплатной лицензией на самосборный сервер Intel S1200BT, с двумя встроенными сетевыми адаптерами Intel и одним дополнительным D-link 528T. Установка прошла быстро и без запинок, загрузилась и тут начались проблемы.

Оказалось что система видит лишь одну встроеную сетевую карту и в упор не видит встроеного RAID-контроллера. Ладно, райд-контроллер "не настоящий", бог с ним - убиваем райд, возвращаем диски родному контроллеру SATA, на всякий случай переставляем ESXi. С дисковой системой всё в порядке, сетевая карта видится всё так же одна. Пришлось гуглить решение проблемы, которое оказалось на редкость простым (посыпаю голову пеплом - видимо при изучении читал документацию через строчку, иногда пропуская целые главы). Оказалось, что на данной материнской плате сетевые контроллеры установлены разные - один из них Intel 82574L, а второй Intel 82579LM PRO. Первый системой находится, а второй изначально нет. Ситуацию исправить просто - надо установить дополнительные драйвера для второго сетевого контроллера Intel и контроллера D-link 528T.

1. Качаем драйвер для Intel 82579LM - net-e1000e-2.1.4.x86_64.vib.
2. Качаем драйвер для D-link 528T - DLink-528T-1.x86_64.vib.zip (этот файл после скачивания сначала надо разархивировать).
3. Если на ESXi еще не активирован SSH-доступ, включаем его.
4. Копируем два этих файла в корень хранилища (datastore), подключенного к данному ESXi.
5. Заходим по SSH на сервер и проделываем следующее:
5.1. Меняем уровень доступа на 'CommunitySupported':
~ # esxcli software acceptance set --level=CommunitySupported
5.2. Смотрим список смонтированых файловых систем:
~ # df
5.3. Проверяем наличие файлов с драйверами на том датасторе, куда мы их выложили:
~ # ls /vmfs/volumes/a
      DLink-528T-1.x86_64.vib
      net-e1000e-2.1.4.x86_64.vib
5.4. Проверяем наличие сетевых контроллеров в системе:
~ # lspci | grep Net
      000:000:15.0 Network controller: Intel Corporation 82574L Network Controller [vmnic0]
      000:000:17.0 Network controller: Intel Corporation 82579LM Network Controller
      000:001:06.0 Network controller: D-Link System Inc DGE-528T Gigabit Ethernet Adapter
5.5. Устанавливаем драйвера для сетевых контроллеров:
~ # esxcli software vib install -v /vmfs/volumes/a/DLink-528T-1.x86_64.vib
~ # esxcli software vib install -v /vmfs/volumes/a/net-e1000e-2.1.4.x86_64.vib
5.6. Перезагружаемся:
~ # reboot

После проделанных манипуляций в системе появятся требуемые сетевые устройства.

пятница, 26 апреля 2013 г.

Отключение swap-файла на MAC OS X


Достижение максимально возможной производительности своего компьютера является одной из главных целей любого пользователя Mac. Однако, существуют некоторые факторы, которые замедляют работу системы. Один из них – использование системой Swap-файла.

Swap-файл используется в случае, когда OS X считает, что в ее распоряжении находится маленький объем свободной оперативной памяти. Часть файлов, принадлежащих запущенным программам (тем, которые использовались относительно давно), записываются в Swap-файл на жестком диске. Следовательно, при последующем обращении пользователя к данной программе произойдет чтение данных с жесткого диска в оперативную память (а некоторые другие данные выгружаются из оперативной памяти и записываются в Swap-файл). В этот момент может наблюдаться некоторое подтормаживание системы. Особенно это ощутимо при использовании HDD (скорость записи/чтения SSD значительно выше).

В настоящее время объемы оперативной памяти компьютеров значительно возросли (Swap-файл начинает использоваться задолго до того, как заканчивается память), поэтому данный файл можно отключить, что приведет к ощутимому приросту производительности.

Недостаток: в случае, если оперативная память действительно закончится – может произойти зависание компьютера (прим. автора – Swap-файл отключен около полутора лет, подобных проблем не наблюдается). На всякий случай, не следуйте следующим инструкциям, если ваш компьютер имеет меньше 8 Гб оперативной памяти.

Для отключения Swap-файла необходимо ввести в Терминале следующие команды:
Отключить использования Swap-файла:
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist

Удалить имеющиеся Swap-файлы с системного диска:
sudo rm /private/var/vm/swapfile*

После этого перезагрузите ваш компьютер для применения изменений

Если Вы захотите включить Swap-файл, то введите в Терминале следующую команду:
sudo launchctl load -wF /System/Library/LaunchDaemons/com.apple.dynamic_pager.plist

После перезагрузки Swap-файл будет создан заново.

Внимание!

У некоторых пользователей после отключение Swap-файла могут наблюдаться проблемы, выражающиеся в исчезновении иконок из строки меню. Если вы столкнулись с подобным, включите подкачку и воспользуйтесь утилитой AppleJack для восстановления системы.

Восстановление значков в панели меню MAC OS X после сбоя

Ни для кого не секрет что в мире нет ничего идеального, MAC OS X в этом плане не исключение. Буквально сейчас при запуске на MacBook Pro одной из установленных программ я словил глюк в виде подвисания файндера, после которого из панели меню пропали практически все значки (остались только Spotlight, Memory Clean и Punto Switcher). В Системных настройках перестали открываться настройки сетевых подключений и энергосбережения, а так же сетевые подключения перестали получать настройки по DHCP.
Восстановление прав ничего не дало, пришлось немного погуглить. Через некоторое время нашлась замечательная утилита AppleJack, с помощью которой всё удалось исправить буквально в 5 минут.

  • Качаем AppleJack со страницы проекта http://applejack.sourceforge.net и устанавливаем его.
  • Выключаем компьютер и включаем его с зажатыми клавишами Cmd+S
  • Компьютер загружается в однопользовательском режиме.
  • Вводим команду: applejack auto restart
  • После этого будет выполнено автоматическое устранение ошибок и компьютер перезагрузится.

Если после восстановления вы хотите удалить AppleJack, то введите в терминале OS X:
sudo /var/root/Library/Scripts/applejack.sh uninstall