В предыдущей заметке мы установили Ubuntu Server 14.04 LTS на виртуальную машину Hyper-V Generation 2. В начале заметки, как вы помните, мы определили то, что виртуальная машина создана с двумя виртуальных дисками VHDX. На первый диск была установлена базовая ОС, а второй диск был оставлен без внимания. В этой заметке мы выполним настройку этого диска для будущего использования в качестве дискового кэша прокси-сервера Squid 3.3.
Для начала получаем список всех доступных системе дисков:
sudo fdisk -l
WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted. Disk /dev/sda: 42.9 GB, 42949672960 bytes 255 heads, 63 sectors/track, 5221 cylinders, total 83886080 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System /dev/sda1 1 83886079 41943039+ ee GPT Partition 1 does not start on physical sector boundary. Disk /dev/sdb: 10.7 GB, 10737418240 bytes 255 heads, 63 sectors/track, 1305 cylinders, total 20971520 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk identifier: 0x00000000 Disk /dev/sdb doesn't contain a valid partition table
Последняя запись свидетельствует о том, что наш второй диск /dev/sdb не размечен.
Запустим утилиту fdisk для разметки нашего диска:
sudo fdisk /dev/sdb
Утилита fdisk имеет ряд функциональных ключей с помощью которых можно выполнять те или иные действия с разделами дисков. С помощью ключа m можно увидеть список возможных ключей:
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel with disk identifier 0x038887c9. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite) The device presents a logical sector size that is smaller than the physical sector size. Aligning to a physical sector (or optimal I/O) size boundary is recommended, or performance may be impacted. Command (m for help): m Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only)
С помощью ключа u переключимся в режим работы с цилиндрами:
Command (m for help): u Changing display/entry units to cylinders (DEPRECATED!)
С помощью ключа n создадим новый раздел на диске. Выберем p для создания первичного раздела. Затем укажем номер раздела – 1, затем укажем номер первого и последнего цилиндра (можно просто нажать Enter, чтобы принять предложенные значения определяющие весь размер диска)
Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p Partition number (1-4, default 1): 1 First cylinder (1-1305, default 1): 1 Last cylinder, +cylinders or +size{K,M,G} (1-1305, default 1305): 1305
Теперь с помощью ключа w записываем параметры разметки на диск и завершаем работу с утилитой
Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
Информируем операционную систему об изменениях таблицы разделов:
sudo partprobe /dev/sdb
В результате создания раздела мы получили устройство /dev/sdb1, которое нам теперь нужно отформатировать в файловую систему Ext4
sudo mkfs /dev/sdb1 -t ext4
mke2fs 1.42.9 (4-Feb-2014) Discarding device blocks: done Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 655360 inodes, 2620347 blocks 131017 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=2684354560 80 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done
Раздел создан и отформатирован и теперь нужно смонтировать его в систему для возможности работы с ним приложений.
***
Создаём каталог в который будем монтировать новый раздел и следующей командой даём права на запись для всех в этот каталог:
sudo mkdir /mnt/squid-cache sudo chmod 0777 /mnt/squid-cache ls -la /mnt/squid-cache
total 8 drwxrwxrwx 2 root root 4096 Jun 4 11:21 . drwxr-xr-x 3 root root 4096 Jun 4 11:21 ..
Проверяем успешность монтирования раздела диска в созданный каталог и затем снова устанавливаем полные права на этот каталог:
sudo mount /dev/sdb1 /mnt/squid-cache sudo chmod 0777 /mnt/squid-cache ls -la /mnt/squid-cache
total 24 drwxrwxrwx 3 root root 4096 Jun 4 11:16 . drwxr-xr-x 3 root root 4096 Jun 4 11:21 .. drwx------ 2 root root 16384 Jun 4 11:16 lost+found
***
Пробуем создать новый пустой файл в смонтированном в каталог разделе проверяя тем самым возможность записи в этот каталог. Затем пробуем удалить созданный файл.
touch /mnt/squid-cache/write-test.txt rm /mnt/squid-cache/write-test.txt
***
Чтобы монтирование диска происходило автоматически при каждой загрузке системы нам ещё нужно внести изменения в системный конфигурационный файл fstab.
sudo nano /etc/fstab
Добавим в конец файла строку монтирования нашего диска
# mount squid cache disk /dev/sdb1 /mnt/squid-cache ext4 defaults 0 0
После сохранения конфигурационного файла проверяем, что команда обработки файла fstab утилитой mount выполняется без ошибок:
sudo mount -a
Перезагружаем систему и убеждаемся в том, что раздел диска автоматически смонтирован во время загрузки и нет проблем с записью файлов в каталог монтирования.
Теперь наш второй диск готов к тому, чтобы мы могли разместить на нём дисковый кэш Squid, к чему мы непременно вернёмся позже в одной из следующих частей цикла заметок про настройку кэширующего прокси-сервера Squid 3.3.
***
Предыдущие части цикла заметок:
Часть 1. Установка ОС на ВМ Hyper-V Gen2
Следующие части цикла заметок:
Часть 3. Конфигурация DNS , NTP и установка Squid
Часть 4. Конфигурация Kerberos и NTLM
Часть 5. Конфигурация Squid 3
Часть 6. Настройка Proxy Auto Configuration (WPAD)
Часть 7. Кастомизация страниц ошибок
Часть 8. Конфигурация SqStat
Часть 9. Конфигурация LightSquid
Часть 10. Отключаем IPv6
Спасибо за интересную статью.
Хотел бы только отметить, что fdisk не умеет работать с таблицей разделов GPT (о чём он честно и пишет). Сейчас для ручной разметки рекомендуют использовать parted.
Для кэша сквида логично было бы сделать точку монтирования диска /var/spool/squid3 (как он и ожидает).
И, кстати, зачем там chmod 0777 ?
Володя, грешно задавать такие вопросы менее осведомлённым людям, о чём ты прекрасно знаешь. Если есть аргументированные предложения по изменению конфигурации - вэлкам - готов внести изменения по тексту.
Очень интересно. Жду продолжения)
На мой взглял логичнее было бы монтировать диски с использованием UUID.
Например,
UUID=51215f0f-2327-4a4e-8cc5-8ae40cd4975d /mnt/squid-cache ext4 defaults 0 0
Просто при добавлении очередного диска в систему не факт что /dev/sdb будет именно тем, а не вновь добавленным диском.
При использовании UUID это исключено, я думаю не трудно догадаться почему
Узнать UUID можно вот так:
sudo blkid /dev/sdb1
/dev/sdb1: UUID="51215f0f-2327-4a4e-8cc5-8ae40cd4975d" TYPE="ext4"
Обратная ссылка: Настройка прокси сервера Squid 3.3 на Ubuntu Server 14.04 LTS. Часть 4. Конфигурация Kerberos и NTLM | Блог IT-KB /
Обратная ссылка: Настройка прокси сервера Squid 3.3 на Ubuntu Server 14.04 LTS. Часть 9. Конфигурация LightSquid | Блог IT-KB /
Обратная ссылка: Настройка прокси сервера Squid 3.3 на Ubuntu Server 14.04 LTS. Часть 1. Установка ОС на ВМ Hyper-V Gen2 | Блог IT-KB /