Как увеличить память в виртуальной машине vmware. Уменьшение размера виртуального диска на ESXi. Увеличение размера Thin Provision диска

Postfix - это бесплатное программное обеспечение почтового сервера, разработанное для использования в операционных системах семейства Unix. Оно относится к классу агентов пересылки сообщений (message transport agent, MTA), которые осуществляют передачу электронных писем между почтовыми клиентами пользователей. Для организации серверов подобной почты крайне популярна связка Ubuntu Linux + Postfix. Настройка их будет рассмотрена в приведенной ниже статье.

Подготовка к инсталляции Postfix

Перед началом установки Postfix требуется выполнить несколько процедур по корректной настройке ресурса. Предполагается, что на сервере уже установлена и готова к работе операционная система Ubuntu Linux.

Устанавливаем корректное имя хоста

По умолчанию, Postfix использует имя хоста почтового сервера для того, чтобы идентифицировать себя при коммуникации с другими агентами пересылки сообщений. Имя хоста может быть двух видов: простое слово или полностью определенное имя домена (Fully Qualified Domain Name, FQDN). Когда что применяется?

Имя хоста в виде простого слова обычно используется для персональных компьютеров. Если вы используете Linux на домашнем ПК, то вы можете назвать его, к примеру, linux, debian, ubuntu. FQDN состоит из двух частей: имя узла и имя домена. Например, mail.yourdomain.co.

Здесь mail - имя узла, yourdomain.com - доменное имя. FQDN, как правило, используется для интернет-серверов, и именно его следует использовать при настройке Postfix для отправки почты. Приведенная выше форма FQDN является стандартной для email-серверов.

Для того чтобы узнать FQDN вашего сервера, введите в терминале Ubuntu следующую команду: hostname -f.

Если у сервера еще нет FQDN, его можно задать при помощи утилиты hostnamectl . sudo hostnamectl set - hostname your - fqdn .

После этого выйдите из учетной записи в системе и войдите обратно. Вы сможете увидеть изменения при помощи команды hostname -f.

Проверяем системное время

Проходя через Postfix, почта получает отметку о времени пересылки. Для этого сервер проверяет свое системное время. Эта отметка также записывается в его лог Postfix (/ var/log/mail.log). Поэтому перед тем как устанавливать Postfix, настройку системного времени необходимо произвести корректно.

Используйте команду date, чтобы узнать временную зону и текущее системное время на сервере Ubuntu: user@mail:~$ date. Sun Dec 31 06:37:19 BST 2017.

Задаем записи DNS для почтового сервера

  • Запись MX. MX-запись (от английского “mail exchanger”) сообщает другим агентам пересылки сообщений, что ваш сервер mail.yourdomain.com отвечает за отправку почты в вашем домене. Запись MX @ mail.yourdomain.com.
  • Запись A. А-запись устанавливает связь между FQDN и IP-адресом: mail.yourdomain.com .
  • Запись PTR. PTR-запись (от английского “pointer record”) устанавливает обратную связь между IP-адресом и FQDN. Она является противоположностью записи A и используется для обратных запросов DNS. mail.yourdomain.com

Все 3 записи задаются на стороне вашего хостинг-провайдера. Как правило, поставщик услуг задает их автоматически, но при необходимости их можно указать вручную, используя интерфейс управления вашим хостингом.

Обратная связь между записью A и записью PTR используется при блокировке спама. Многие агенты передачи сообщений принимают почту, только если сервер действительно связан с определенным доменом. Задать запись PTR необходимо, чтобы письма с вашего сервера не попадали у отправителей в папку со спамом.

Для того чтобы узнать запись PTR для определенного IP-адреса, выполните в консоли следующую команду: dig - x < IP > + short или host < IP > .

После того как подготовка завершена, начнем инсталляцию Postfix.

Установка Postfix и настройка

Чтобы скачать Postfix, выполните следующие две команды в терминале на вашем сервере Ubuntu:

  • sudo apt-get update;
  • sudo apt-get install postfix -y.

Для вновь установленного Postfix настройка начинается с выбора типа почтовой конфигурации:

  • No configuration - в процессе установки не будут настраиваться какие-либо параметры.
  • Internet Site - Postfix будет настроен для отправки электронной почты другим почтовым серверам и приема сообщений от них.
  • Internet with smarthost - сервер Postfix будет использоваться для получения электронных сообщений от других почтовых серверов, но отправка писем будет осуществляться через сервер-ретранслятор.
  • Satellite system - ретранслятор будет использоваться и для получения, и для отсылки почты.
  • Local only - электронная почта будет пересылаться только внутри локальной учетной записи.

Далее введите ваше доменное имя в качестве имени почтовой системы, то есть того, что идет в почтовом адресе после символа @. Например, если ваш адрес электронной почты - [email protected] , то в качестве имени почтовой системы следует ввести yourdomain.com .

Настройка Postfix в Ubuntu завершена.

После установки сервер Postfix будет автоматически запущен, и в каталоге /etc будет сгенерирован конфигурационный файл /etc/postfix/main.cf . Теперь мы можем проверить версию Postfix следующей командой:

user@mail:~$ sudo postconf mail_version

mail_version = 2.11.0

Мы также можем выяснить при помощи утилиты netstat, что основной процесс Postfix «слушает» TCP-порт 25: sudo netstat -lnpt.

Перед тем как отправлять первое тестовое письмо, не лишним будет проверить, блокируется ли порт 25 сетевым экраном. Для сканирования открытых портов можно использовать утилиту nmap . Выполните следующую команду в терминале на каком-нибудь другом компьютере под Linux (например, на вашем ПК), подставив в нее реальный IP вашего почтового сервера: sudo nmap .

Как правило, порт 25 открыт, так как это стандартный порт для электронной почты. Если он закрыт, следует внести изменения в настройки сетевого экрана iptables на сервере. При этом нужно разрешить входящие и исходящие соединения на этот порт. Если он блокируется вашим хостинг-провайдером, свяжитесь с представителем и попросите открыть его.

Отправка тестового письма

Собственно говоря, теперь мы можем отправлять и получать письма в консоли Ubuntu. Если ваш пользовательский аккаунт на сервере называется user , вашим почтовым адресом будет [email protected] . В качестве теста вы можете отправить письмо администратору ресурса (пользователь root) или на любой почтовый адрес Gmail, "Яндекс" и так далее.

При установке Postfix в каталог /usr/sbin/sendmail записывается бинарный файл агента пересылки сообщений sendmail. Мы можем использовать его для того, чтобы отправить пробное письмо на почтовый адрес Gmail, например: echo «тест» | sendmail youraccount @ gmail . com

Эта несложная команда сообщает sendmail, что нужно считать сообщение из стандартного ввода и создать тело электронного письма с текстом «тест», а потом отправить его на указанный почтовый адрес Gmail. Письмо с данным текстом должно прийти на ваш почтовый ящик Google. Обратите внимание, что адрес отправителя указывать не нужно: его автоматически вставит в метаданные письма Postfix, при настройке которого мы задали имя почтовой системы.

Теперь попробуем ответить на это сообщение, чтобы проверить, как Postfix принимает сообщения. Входящие письма, приходящие на ваш почтовый сервер, хранятся в каталоге /var/spool/mail/ и /var/mail/ . Также расположение входящих писем можно узнать командой: postconf ail_spool_directory.

Журнал сообщений Postfix находится в файле /var/log/mail.log .

Установка и настройка спам-фильтра

В Postfix для настройки спам-фильтра выполните установку spamassassin и spamc: apt-get install spamassassin spamc

SpamAssassin - это спам-фильтр, который будет отсеивать нежелательную почту на вашем сервере в соответствии с заданными настройками. Рассмотрим их.

Основным конфигурационным файлом спам-фильтра является /etc/mail/spamassassin/local.cf , который можно открыть при помощи любого удобного вам текстового редактора. В частности, значимыми для фильтрации считаются следующие настройки, которые нужно при необходимости добавить или раскомментировать:

report_safe 0

required_score 8.0

rewrite_header Subject

  1. Параметр report_safe рекомендуется установить равным 0. В этом случае входящий спам будет получать в заголовке отметку, заданную параметром rewrite_header . Если задать значение параметра равным 1, то сообщения будут удаляться.
  2. Параметр required_score отвечает за чувствительность спам-фильтра. Чем меньше его значение, тем строже фильтруется почта. Для крупных почтовых серверов, обслуживающих более сотни аккаунтов, значение required_score рекомендуется устанавливать в промежутке между 8.0 и 10.0.

Сохраните конфигурационный файл, а затем включите и запустите спам-фильтр и обновите его конфигурацию:

# systemctl enable spamassassin

# systemctl start spamassassin

# sa-update

Интеграция Postfix и SpamAssassin

Для того чтобы эффективно интегрировать Postfix со спам-фильтром, необходимо создать отдельного пользователя и группу для процесса спам-фильтра:

# useradd spamd -s /bin/false -d /var/log/spamassassin

spamassassin unix - n n - - pipe flags=R user=spamd argv=/usr/bin/spamc -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}

После этого в начале файла укажем, что spamassassin будет работать в качестве фильтра контента (параметр content_filter ):

-o content_filter=spamassassin

Наконец, перезапустите Postfix, чтобы применить изменения:

# systemctl restart postfix

Настройка спам-фильтра завершена.

Для того чтобы проверить работоспособность SpamAssassin, можно выполнить следующий тест. Отправьте электронное письмо с другого почтового сервера (к примеру, Gmail или Яндекс) на адрес электронной почты на вашем сервере. Задайте ему любой заголовок, а в теле сообщения введите:

XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X

При отправке вышеприведенного текста на ваш сервер, к примеру, с аккаунта Gmail, будет получен следующий ответ:

Verify SpamAssassin Detecting Spam Mails

Еще одно сообщение будет записано в лог, который можно просмотреть при помощи следующей команды:

# journalctl | grep spam

Сообщение лога содержит текст: Monitor SpamAssassin Mail Logs

Дополнительно, вы можете проверить spamassassin прямо из консоли: # spamassassin - D < / usr / share / doc / spamassassin -3.4.0/ sample - spam . txt

Вышеприведенная команда выдает достаточно подробный результат, который должен включать в себя нижеприведенную строку: Test SpamAssassin Spam from Commandline.

Заключение

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

Выполнив приведенные в статье рекомендации, вы сможете установить и корректно настроить почтовый сервер на базе Ubuntu Linux и Postfix для приема и передачи сообщений, а также для фильтрации спама. Инструкции действительны для начиная с 12.04.

Важно. Данная инструкция не является официально поддерживаемым решением по сжатию vmdk дисков, однако автором статьи в продуктивной среде применялась уже не раз. При написании этой статьи использовалась версия ESXi 5.1.

Перед осуществлением процедуры уменьшения размера виртуального диска на VMWare ESXi необходимо обязательно:

  • Удалить все снапшоты виртуальной машины, в противном случае вы можете повредить виртуальный диск
  • Создайте полную или же просто сделайте копию уменьшаемого vmdk файла с помощью команд: cp vmname.vmdk backup_vmname.vmdk cp vmname-flat.vmdk backup_vmname-flat.vmdk

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

Уменьшение раздела внутри гостевой ОС

В первую очередь необходимо уменьшить размер дискового раздела внутри гостевой операционной системы. Это можно сделать из диспетчера управления дисками (операция , поддерживаемая начиная с Windows Vista) или с помощью сторонних утилит (например, Acronis Disk Director). Если этого не сделать, после сжатия виртуального диска можно получить неработоспособную файловую систему.

Допустим, мы хотим уменьшить размер диска на 19, 5 Гб. Значит размер тома должен быть уменьшен на 19968 Мб (19.5 Гб x 1024). Именно это значение нужно ввести в поле мастера Shrink Volume. После уменьшения размера раздела на нашем диске останется некоторое количество неразмеченного пространства (в нашем примере 19,5 Гб)

Уменьшение размера VMDK файла виртуальной машины VMware

Переходим ко второй операции – непосредственно изменяю размера VMDK файла на файловой системе VMWare VMFS.

  1. Выключите виртуальную машину, размер виртуального диска которой вы хотите уменьшить
  2. Подключитесь по SSH к консоли гипервизора ESXi, на котором зарегистрирована ВМ
  3. Перейдите в каталог, в котором хранится vmdk файл ВМ (путь можно узнать в свойствах виртуального диска в графическом клиенте vSphere): cd /vmfs/volumes/datastore/VM-name

  4. Просмотрим содержимое конфигурационного файла с расширением *.vmdk с помощью команды cat: cat VM-name.vmdk

    Размер vmdk диска задается в секции #Extent description (после символов RW). В данном случае указана цифра 83886080 (40 Гб *1024*1024*1024 / 512)

  5. Мы хотим уменьшить размер vmdk диска с 40 до 20 Гб. Это значит, что в секции Extent description нужно указать значение: 41943040 (20 Гб*1024*1024*1024 / 512). Задайте новый размер виртуального диска с помощью текстового редактора (vi или nano).
  6. Осталось склонировать или смигрировать (Storage VMotion) виртуальную машину на другое хранилище (datastore). После перемещения файлов виртуальной машины в ее свойствах отобразится новый размер виртуального диска.

    Совет . Если vCenter отсутствует, или VMFS хранилище одно, эти операции недоступны. В таком случае можно склонировать vmdk диск командой:

    Vmkfstools -i vmname.vmdk vmname-new-size.vmdk

    Удалить оригинальный диск и еще раз склонировать vmdk диск, вернув ему прежнее имя:

    Rm vmname.vmdk rm vmname-flat.vmdk vmkfstools -i vmname-new-size.vmdk vmname.vmdk

  7. Осталось запустить гостевую ОС и удостовериться, что неразмеченная область исчезла.

    Совет . Если на предыдущем шаге использовалась утилита vmkfstools , возможно понадобится переподключить виртуальный диск в настройках ВМ, т.к. его новый размер может отображаться некорректно.

Итак, мы рассмотрели один из вариантов выполнения операции уменьшения размера виртуальных vmdk дисков на VMWare ESXi. Если требует уменьшить размер тонкого диска VMWare за счет неиспользуемого места, рекомендуем воспользоваться инструкцией.

Примечание . В качестве распространенных альтернативных методик сжатия виртуальных vmdk дисков часто используются такие схемы:

  • Уменьшение размера виртуального диска путем конвертации виртуальной машины с помощью VMware vCenter Converter (при конвертации указывается размер получаемого диска меньший, чем исходный)
  • Клонирование содержимого виртуального диска с помощью стороннего софта (например, Acronis True Image или Symantec Ghost32). Операция выполняется путем добавления в виртуальную машину нового диска меньшего размера и клонирования на него содержимого большего диска. После чего большой диск удаляется.

Уменьшение размера виртуального диска через конвертирование с помощью VMware vCenter Converter Standalone

Еще один способ уменьшения размера виртуальных дисков у ВМ на VMWare с помочью GUI — воспользоваться бесплатным конвертером — .

Недостаток:

  • Способ не быстрый
  • не требуется открывать в консоль vCenter или ESXi хоста
  • создается точная копия VM
  • источник не поломается при ошибке в назначении параметров задачи конвертирования

Ниже пошаговые инструкции

Примечание .Виртуальная машина, которую собираемся конвертировать (изменять размеры дисков и т.д.), должна быть выключена .

Именно выключена.
То есть, перед конвертацией, на исходной виртуальной машине необходимо выполнить: Shut down или Power Off , а не Suspend .

Указываем адрес ESXi хоста.

Выбираем исходную ВМ.

Указываем параметры новой ВМ.

Переходим в режим редактирования диска (Data to copy -> Edit)

Выбираем режим копирования: Select volumes to copy

Указываем желаемый размер диска в новой ВМ. Как вы видите, на диске в гостевой занято 48 гб, а размер самого диска – 150. Мы уменьшим его до 60 Гб.



Запускаем процесс конвертирования, отключаем исходную ВМ, включаем новую. Проверяем, что размер диска уменьшился, после чего исходную ВМ можно удалить.




Top