Как добавить дополнительный второй жесткий диск в Linux LVM и увеличить размер хранилища

На моем домашнем сервере Linux установлен диск на 250 ГБ. Я только что купил новый 250 ГБ SATA-диск, и я хочу добавить новый диск в мой существующий том LVM, чтобы увеличить его размер до 500 ГБ. Как добавить диск в LVM и расширить объем LVM в операционной системе Linux? Управление томами Linux (LVM) создает простой в использовании уровень поверх физических дисков. Вы можете комбинировать несколько дисков и создавать логические тома хранилища. Это обеспечивает конкретные преимущества, такие как:

  1. Никаких ограничений на размер диска;
  2. Увеличена пропускная способность диска
  3. Объемы зеркалирования для критически важных бизнес-данных;
  4. Снимки тома;
  5. Легкое резервное копирование и восстановление с использованием моментальных снимков;
  6. Простое перемещение данных;
  7. Изменение размеров пулов хранения (добавление или удаление дисков) без обязательного переформатирования дисков.
В этом учебном пособии показано, как сделать разбиение на разделы, форматирование и добавление нового диска в том LVM в Linux. Для демонстрационной цели я использую Ubuntu VM, но команды остаются такими же для «голого железа» или любой другой технологии виртуализации, такой как KVM, Xen, VMware и т. д.

ВниманиеБудьте осторожны с lvm / mkfs.ext4 и другими командами, а также с именами устройств, т.к. если имя устройства задано неверно, это может уничтожить все данные. Соблюдайте осторожность и всегда держите полные резервные копии.

Шаг 1 – Узнать информацию о существующих LVM

Управление хранилищем LVM разделено на три части:

  1. Физические тома (ФТ(PV)) – фактические (например, /dev/sda, /dev,sdb, /dev/vdb  и т.д.)
  2. Группы томов (ГТ(VG)) – физические тома объединяются в группы томов. (например, my_vg = /dev/sda + /dev/sdb .)
  3. Логические тома (ЛТ(LV)) – группа томов, в свою очередь, делится на логические тома (например, my_vg  делится на my_vg/data, my_vg/backups, my_vg/home, my_vg/mysqldb  и т.д.)
Введите следующие команды, чтобы узнать информацию о каждой части.

Как отобразить информацию о физических томах (pv)

Введите следующую команду pvs, чтобы просмотреть информацию о физических томах:

$ pvs

Примеры возможных выводов данных:
Как отобразить информацию о физических томах (pv)Рисунок 01: Как отображать информацию о физических томах LVM

Итак, в настоящее время мой LVM включает физический том (фактический диск), называемый /dev/vda5 . Чтобы просмотреть подробную информацию о свойствах, введите:

$ pvdisplay

Примеры возможных выводов данных:
Рисунок 02: Просмотрите свойства физического тома (PV)

Из вышеуказанного вывода ясно видно, что наша группа томов с именем ubuntu-box-1-vg сделана из физического тома с именем /dev/vda5 .

Как отобразить информацию о LVM группе томов (vg)

Введите любую из следующих команд vgs/vgdisplay vgs , чтобы просмотреть информацию о группах томов и их свойствах:

$ sudo vgs

ИЛИ

$ vgdisplay

Примеры возможных выводов данных:

Как отобразить информацию о LVM группе томов (vg)Рисунок 03: Как посмотреть информацию о LVM группе томов (vg)

Как отобразить информацию о LVM логическом томе (lv)

Введите любую из следующих команд lvs command / lvdisplay , чтобы просмотреть информацию о группах томов и их свойствах:

$ lvs

ИЛИ

$ lvdisplay

Примеры возможных выводов данных:
Как отобразить информацию о LVM логическом томе (lv)Рисунок 04: Как посмотреть информацию о логических томах (lv)

Моя группа томов ubuntu-box-1-vg  разделена на два логических тома:

  1. /dev/ubuntu-box-1-vg/root  – корневая файловая система;
  2. /dev/ubuntu-box-1-vg/swap_1  – пространство для свопинга.

Основываясь на приведенных выше командах, вы можете получить базовую идею о том, как LVM организует устройство хранения в физических томах (PV), группах томов (VG) и логических томах (LV):

Как добавить дополнительный второй жесткий диск в Linux LVM и увеличить размер хранилищаРисунок 05: Как LVM организует устройство хранения в физических томах (PV), группах томов (VG) и логических томах (LV)

Шаг 2 – Узнайте информацию о новом диске

Вам нужно добавить новый диск на свой сервер. В этом примере для демонстрационной цели я добавил новый диск, который имеет размер 5GiB. Для того чтобы узнать информацию о запуске новых дисков:

$ fdisk –l

ИЛИ

$ fdisk -l | grep '^Disk /dev/'

Примеры возможных выводов данных:

Шаг 2 – Узнайте информацию о новом дискеРисунок 06: Узнайте имена установленных дисков в Linux

Другой вариант — сканировать все видимые устройства для LVM2:

$ sudo lvmdiskscan

Примеры возможных выводов данных:

 /dev/ram0                   [      64.00 MiB] 
  /dev/ubuntu-box-1-vg/root   [      37.49 GiB] 
  /dev/ram1                   [      64.00 MiB] 
  /dev/ubuntu-box-1-vg/swap_1 [       2.00 GiB] 
  /dev/vda1                   [     487.00 MiB] 
  /dev/ram2                   [      64.00 MiB] 
  /dev/ram3                   [      64.00 MiB] 
  /dev/ram4                   [      64.00 MiB] 
  /dev/ram5                   [      64.00 MiB] 
  /dev/vda5                   [      39.52 GiB] LVM physical volume
				
  /dev/ram6                   [      64.00 MiB] 
  /dev/ram7                   [      64.00 MiB] 
  /dev/ram8                   [      64.00 MiB] 
  /dev/ram9                   [      64.00 MiB] 
  /dev/ram10                  [      64.00 MiB] 
  /dev/ram11                  [      64.00 MiB] 
  /dev/ram12                  [      64.00 MiB] 
  /dev/ram13                  [      64.00 MiB] 
  /dev/ram14                  [      64.00 MiB] 
  /dev/ram15                  [      64.00 MiB] 
  /dev/vdb                    [       5.00 GiB] 
				
  2 disks
  18 partitions
  0 LVM physical volume whole disks
  1 LVM physical volume

 

Шаг 3 – Создание физических томов (pv) на новом диске под названием /dev/vdb

Введите следующую команду:

$ pvcreate /dev/vdb

Примеры возможных выводов данных:

Physical volume "/dev/vdb" successfully created Теперь выполните следующую команду для проверки:

$ lvmdiskscan –l

Примеры возможных выводов данных:

 WARNING: only considering LVM devices
  /dev/vda5                   [      39.52 GiB] LVM physical volume
  /dev/vdb                    [       5.00 GiB] LVM physical volume
  1 LVM physical volume whole disk
  1 LVM physical volume

 

Шаг 4 – Добавление недавно созданного физического тома (pv) с именем /dev/vdb в существующий логический том (lv)

Введите следующую команду для добавления физического тома /dev/vdb  в группу томов «ubuntu-box-1-vg»:

$ vgextend ubuntu-box-1-vg /dev/vdb

Примеры возможных выводов данных:

Volume group "ubuntu-box-1-vg" successfully extended

Наконец, вам нужно расширить /dev/ubuntu-box-1-vg/root , чтобы создать диск общим размером 45GB (/dev/vdb (5G) + существующий /dev/ubuntu-box-1-vg/root  (40G)).

$ lvm lvextend -l +100%FREE /dev/ubuntu-box-1-vg/root

Примеры возможных выводов данных:

Size of logical volume ubuntu-box-1-vg/root changed from 37.49 GiB (9597 extents) to 42.52 GiB (10885 extents). Logical volume root successfully resized.

Однако, если вы запустите df -h  или любую другую команду, вы все равно увидите /dev/ubuntu-box-1-vg/root  как 40G. Для увеличения файловой системы, созданной внутри «корневого» тома, необходимо выполнить следующую команду:

$ resize2fs -p /dev/mapper/ubuntu--box--1--vg-root

Примеры возможных выводов данных:

resize2fs 1.42.13 (17-May-2015)
Filesystem at /dev/mapper/ubuntu--box--1--vg-root is mounted on /; on-line resizing required
old_desc_blocks = 3, new_desc_blocks = 3
The filesystem on /dev/mapper/ubuntu--box--1--vg-root is now 11146240 (4k) blocks long.

 

Теперь выполните проверку:

$ df –H

Примеры возможных выводов данных:

Filesystem                           Size  Used Avail Use% Mounted on
udev                                 1.1G     0  1.1G   0% /dev
tmpfs                                146M   12M  135M   9% /run
/dev/mapper/ubuntu--box--1--vg-root   45G  2.3G   41G   6% /
				
tmpfs                                512M     0  512M   0% /dev/shm
tmpfs                                5.3M     0  5.3M   0% /run/lock
tmpfs                                512M     0  512M   0% /sys/fs/cgroup
/dev/vda1                            495M  109M  361M  24% /boot
tmpfs                                103M     0  103M   0% /run/user/0

 

Перевод: Анна Давыдова
Источник: cyberciti.biz

источник: https://codeby.net/kak-dobavit-dopolnitelnyj-zhestkij-disk-v-linux-lvm/

  • Просмотров: 9930

Основные команды для работы с BusyBox

Клацая в dir-320 с прошивкой dd-wrt, пришлось выучить пару десятков команд которые мне пригодились и в других устройствах основанных на linux BusyBox.

Итак, что такое этот BusyBox?

BusyBox — набор UNIXовых утилит командной строки, которые используется в качестве основного интерфейса во встраиваемых операционных системах. Для тонкой настройки таких систем, часто используется командная строка. Для этого с помощью TELNET или SSH мы соединяемся с командной оболочкой с одним из таких устройств, например: DIR-320 в основе которой лежит BusyBox и используем ряд следующих команд.

Команды для работы с файлами:

pwd – показать текущий каталог ( каталог в котором находится пользователь)
ls – вывести список файлов и каталогов
ls -al – форматированный список со скрытыми каталогами и файлами
cd /etc – сменить директорию на /etc
cd – сменить на домашний каталог
mkdir mydir – создать каталог mydir
rm file.txt – удалить file.txt
rm -r mydir – удалить рекурсивно каталог mydir
rm -f file.txt – удалить форсированно file.txt
rm -rf mydir – удалить форсированно каталог с подкаталогами mydir
cp file1 file2.txt – скопировать file1 в file2.txt
cp -r dir mydir – скопировать dir в mydir; создаст каталог mydir, если он не существует
mv file2.txt file2 – переименовать или переместить file2.txt в file2. 
Если file2 существующий каталог - перемещает file2.txt в каталог file2
ln -s file filelink – создать символическую ссылку filelink к файлу file
touch myfile – создать файл myfile
cat > file.txt – направить стандартный ввод в файл file.txt
cat file.txt - вывести содержимое файла file.txt
more file.txt – вывести содержимое файла file.txt
head file.txt – вывести первые 10 строк файла file.txt на консоль
tail file.txt – вывести последние 10 строк файла file.txt на консоль
tail -f file.txt – вывести содержимое файла file.txt по мере его роста, начинает с последних 10 строк
> - Перенаправление с одного места в другое, например:
Выведем последние 10строк с файла test и вставим их в файл oktest, для этого выполним такую команду:
 tail test > oktest.
Если файл oktest не существовал, то он создастся.

Управление процессами в BusyBox:

ps – вывести текущие пользовательские активные процессы
top – показать все запущенные процессы и краткую информацию о ресурсах системы
kill pid – убить процесс id которого pid
killall proces – убить все процессы с именем proces
bg – список остановленных и фоновых задач; продолжить выполнение остановленной задачи в фоне
fg – выносит на передний план последние задачи
fg n – вынести задачу n на передний план

Права доступа на файлы в BusyBox:

chmod 640 file – замена прав доступа файла file на 640. Права назначаются раздельно для пользователя,
группы и для всех остальных сложением:
4 – чтение (r)
2 – запись (w)
1 – исполнение (x)
 
Примеры chmod:
chmod 777 – чтение, запись, исполнение для всех пользователей
chmod 751 – чтение, запись, исполнение для владельца; чтение, исполнение для группы; 
и только исполнение для остальных пользователей.
 
Дополнительные опции можно посмотреть набрав команду:
man chmod.

Использование SSH в BusyBox:

ssh user@host – подключится к host как пользователь user
ssh -p port user@host – подключится к узлу host на порт port как пользователь user
ssh-copy-id user@host – добавить ваш ключ на узел host для пользователя user чтобы включить вход 
логина без пароля и по ключам

Как осуществляется поиск в BusyBox:

grep pattern files – искать pattern в файле files
grep -r pattern dir – искать рекурсивно pattern в директории dir
command | grep pattern – искать pattern в выводе command
locate file – найти все файлы с именем file

Системная информация в BusyBox:

date – вывести текущую дату и время роутера
cal – вывести календарь на текущий месяц
uptime – показать текущий аптайм (время работы системы с момента её загрузки)
w – показать пользователей онлайн
whoami – имя, под которым вы залогинены
finger user – показать информацию о пользователе user
uname -a – показать информацию о ядре
cat /proc/cpuinfo – информация о процессоре
cat /proc/meminfo – информация о памяти
man command – показать мануал для команды command
df – показать информацию о использовании дисков
du dir– вывести “вес” каталога dir
free – использование памяти и swap
whereis app – возможное расположение программы app
which app – какая app будет запущена по умолчанию

Процессы архивации при наличии установленных tar и gzip пакетах в BusyBox:

tar cf file1.tar files1 – создать tar-архив с именем file1.tar содержащий файл files1
tar xf file1.tar – распаковать архив file1.tar
tar czf file1.tar.gz files1 – создать архив file1.tar.gz со сжатием Gzip
tar xzf file1.tar.gz – распаковать архив tar с Gzip сжатием
tar cjf file1.tar.bz2 – создать архив file1.tar.bz2 со сжатием Bzip2
tar xjf file1.tar.bz2 – распаковать архив tar с Bzip2 сжатием 
gzip file1 – сжать file1 и переименовать в file1.gz
gzip -d file1.gz – разжать file1.gz в file1

Настройка сети в BusyBox:

ifconfig – показать настройки найденных сетевых интерфейсов
ping host – пропинговать узел host и вывести результат
whois domain – получить информацию whois для домена domain
dig domain – получить DNS информацию для домена domain
dig -x host – реверсивно искать информацию DNS об узле host
wget file – скачать файл file
wget -c file – продолжить остановленную или оборванную закачку файла file

Установка\удаление программ из пакетов в BusyBox:

/opt/bin/ipkg-opt install название программы/пакета (установка)
/opt/bin/ipkg-opt remove название программы/пакета (удаление)
dpkg -i pkg.deb – установка пакета (Debian)
rpm -Uvh pkg.rpm – установка пакета (RPM)

Установка из исходников:

cd application-1.0.2
./configure
make
make install

Быстрые клавиатурные команды:

Ctrl+C – завершить текущую команду
Ctrl+Z – остановить текущую команду, продолжть с fg на переднем плане или bg в фоне
Ctrl+D – разлогиниться, тоже самое, что и exit
Ctrl+W – удалить одно слово в текущей строке
Ctrl+U – удалить строку
!! - повторить последнюю команду
exit – разлогиниться

 

 

источник: http://noted.org.ua/1727

  • Просмотров: 9792

Служба доменных имен (DNS)

Настройка

Существует много способов настроить BIND9. Наиболее распространенные конфигурации - это кэширующий сервер имен, первичный мастер и вторичный мастер.

  1. Когда BIND9 настроен как кэширующий сервер, он ищет ответы на запросы имени и запоминает ответ на случай, если запрос придет повторно.

  2. В качестве первичного мастера BIND9 читает данные зоны из локального файла и является ответственным за эту зону.

  3. В качестве вторичного мастера BIND9 получает данные по зоне (целиком) с другого сервера имен, отвечающего за эту зону.

Обзор

Файлы настройки DNS сохраняются в каталоге /etc/bind. Основной файл конфигурации - это /etc/bind/named.conf.

Строки include определяют имена файлов, которые содержат DNS опции. Строка directory в файле /etc/bind/named.conf.options говорит DNS где искать файлы. Все файлы, используемые BIND, будут относительными к этому каталогу.

Файл с именем /etc/bind/db.root описывает корневые сервера имен в мире. Сервера со временем меняются, поэтому файл /etc/bind/db.root должен обслуживаться сейчас и потом. Обычно это происходит в качестве обновления к пакету bind9. Секция zone определяет мастер сервер и она сохранена в файле, определяемой опцией file.

Существует возможность настроить один сервер как кэширующий сервер имен, первичный мастер и вторичный мастер одновременно. Сервер может быть началом авторизации (SOA) для одной зоны, при этом предоставляя вторичный сервис для другой. И при всем этом предоставлять кэширующий сервис в локальной сети (LAN).

Кэширующий сервер имен

По умолчанию конфигурация настраивается на работу кэширующим сервером. Все что для этого требуется - это добавить IP адреса DNS серверов вашего интернет провайдера. Просто раскомментируйте и исправьте следующее в /etc/bind/named.conf.options:

forwarders {
                1.2.3.4;
                5.6.7.8;
           };
Замените 1.2.3.4 и 5.6.7.8 на актуальные IP адреса серверов имен.

Теперь перегружаем DNS сервер для применения новой конфигурации. Наберите в терминале:

sudo service bind9 restart

Смотрите dig для информации по тестированию кэширующего DNS сервера.

Первичный мастер

В этом разделе BIND9 будет настроен как первичный мастер для домена example.com. Просто замените example.com на ваше FQDN (квалифицированное имя домена).

Файл прямой зоны

Для добавления DNS зоны в BIND9, что превратит его в сервер первичного мастера, первым шагом отредактируем /etc/bind/named.conf.local:

zone "example.com" {
	type master;
        file "/etc/bind/db.example.com";
};

Теперь используем существующий файл зоны в качестве шаблона для создания файла /etc/bind/db.example.com:

sudo cp /etc/bind/db.local /etc/bind/db.example.com

Редактируем новый файл зоны /etc/bind/db.example.com, заменив localhost. на FQDN нашего сервера, оставляя дополнительную "." в конце. Заменим 127.0.0.1 на IP адрес сервера имен и root.localhost на правильный адрес email, но с "." вместо символа "@", опять же оставляя "." на конце. Замените комментарии для указания домена, для которого этот файл сделан.

Создайте A запись для базового домена example.com. Также создайте A запись для ns.example.com - сервера имен в данном примере:

;
; BIND data file for example.com
;
$TTL    604800
@       IN      SOA     example.com. root.example.com. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
        IN      A       192.168.1.10
;
@       IN      NS      ns.example.com.
@       IN      A       192.168.1.10
@       IN      AAAA    ::1
ns      IN      A       192.168.1.10

Вы должны увеличивать Serial Number каждый раз, как делаете изменения в файле зоны. Если вы делаете множественные изменения, просто увеличьте Serial на единицу один раз перед перезапуском BIND9.

Теперь вы можете добавлять DNS записи в конец файла зоны. Смотрите детали в разделе Общие типы записей.

Многие администраторы предпочитают использовать дату последнего редактирования в качестве Serial зоны в виде 2012010100, что соответствует формату yyyymmddss (где ss - Serial Number [за день]).

Как только вы произвели изменения в файле зоны, требуется перегрузить BIND9 для применения изменений:

sudo service bind9 restart

Файл обратной зоны

Теперь, поскольку зона создана и разрешает имена в IP адреса, требуется создать также обратную зону. Обратная зона позволяет DNS определять имя по IP адресу.

Редактируем /etc/bind/named.conf.local и добавляем следующее:

zone "1.168.192.in-addr.arpa" {
        type master;
        file "/etc/bind/db.192";
};
Замените 1.168.192 на первые три октета адресов сети, которую вы используете. Также соответственно назовите файл зоны /etc/bind/db.192. В нем должен совпадать первый октет вашей сети.

Теперь создаем файл /etc/bind/db.192:

sudo cp /etc/bind/db.127 /etc/bind/db.192

Далее редактируем /etc/bind/db.192, изменяя в основном те же опции, что и в /etc/bind/db.example.com:

;
; BIND reverse data file for local 192.168.1.XXX net
;
$TTL    604800
@       IN      SOA     ns.example.com. root.example.com. (
                              2         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      ns.
10      IN      PTR     ns.example.com.

Serial Number в обратной зоне также требуется увеличивать при каждом изменении. Для каждой A записи, которую вы настроите в /etc/bind/db.example.com на другой адрес, вы должны создать запись PTR в /etc/bind/db.192.

После создания файла обратной зоны перегрузите BIND9:

sudo service bind9 restart

Вторичный мастер

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

Для начала на первичном мастере надо разрешить передачу зоны. Добавьте опцию allow-transfer к определениям прямой и обратной зон в /etc/bind/named.conf.local:

zone "example.com" {
        type master;
	file "/etc/bind/db.example.com";
        allow-transfer { 192.168.1.11; };
};

zone "1.168.192.in-addr.arpa" {
        type master;
        file "/etc/bind/db.192";
	allow-transfer { 192.168.1.11; };
};
Замените 192.168.1.11 на IP адрес вашего вторичного сервера имен.

Перезапустим BIND9 на первичном мастере:

sudo service bind9 restart

Далее, на вторичном мастере установите пакет bind9 так же, как делали на первичном. Затем отредактируем /etc/bind/named.conf.local и добавим следующие определения к прямой и обратной зонам:

zone "example.com" {
	type slave;
        file "db.example.com";
        masters { 192.168.1.10; };
};        
      
zone "1.168.192.in-addr.arpa" {
	type slave;
        file "db.192";
        masters { 192.168.1.10; };
};
Замените 192.168.1.10 на IP адрес вашего первичного сервера имен.

Перегружаем BIND9 на вторичном мастере:

sudo service bind9 restart

В /var/log/syslog вы сможете увидеть нечто похожее на (некоторые строки разделены для соответствия формату документа):

client 192.168.1.10#39448: received notify for zone '1.168.192.in-addr.arpa'
zone 1.168.192.in-addr.arpa/IN: Transfer started.
transfer of '100.18.172.in-addr.arpa/IN' from 192.168.1.10#53:
 connected using 192.168.1.11#37531
zone 1.168.192.in-addr.arpa/IN: transferred serial 5
transfer of '100.18.172.in-addr.arpa/IN' from 192.168.1.10#53:
 Transfer completed: 1 messages, 
6 records, 212 bytes, 0.002 secs (106000 bytes/sec)
zone 1.168.192.in-addr.arpa/IN: sending notifies (serial 5)

client 192.168.1.10#20329: received notify for zone 'example.com'
zone example.com/IN: Transfer started.
transfer of 'example.com/IN' from 192.168.1.10#53: connected using 192.168.1.11#38577
zone example.com/IN: transferred serial 5
transfer of 'example.com/IN' from 192.168.1.10#53: Transfer completed: 1 messages, 
8 records, 225 bytes, 0.002 secs (112500 bytes/sec)
Обратите внимание, что передача зоны произойдет только если Serial Number на первичном сервере больше значения на вторичном. Если вы хотите, чтобы первичный мастер DNS сообщал вторичному DNS серверу об изменении зоны, вы можете добавить also-notify { ipaddress; }; в /etc/bind/named.conf.local как показано в примере ниже:
zone "example.com" {
	type master;
	file "/etc/bind/db.example.com";
	allow-transfer { 192.168.1.11; };
	also-notify { 192.168.1.11; }; 
	};

zone "1.168.192.in-addr.arpa" {
	type master;
	file "/etc/bind/db.192";
	allow-transfer { 192.168.1.11; };
	also-notify { 192.168.1.11; }; 
	};
Каталог по умолчанию для файлов неавторизованных зон - /var/cache/bind/. Этот каталог также настроен в AppArmor для разрешения доступа сервису named на запись в него. Для дополнительной информации по AppArmor смотрите AppArmor

dns

  • Просмотров: 2118

Страница 7 из 12