LXF163: Рубрика сисадмина
Olkol (обсуждение | вклад) (→Создаем файловую систему) |
Olkol (обсуждение | вклад) (→Создаем файловую систему) |
||
Строка 208: | Строка 208: | ||
# rm -rf /home-temp | # rm -rf /home-temp | ||
+ | |||
+ | Готово. Наша файловая система /home переехала на новый раздел, и никто ничего не заподозрит. | ||
+ | |||
+ | Проверим командой df, что все смонтировалось правильно: | ||
+ | |||
+ | <pre># df -h </pre> | ||
{{Врезка|right|Заголовок=Зачем нужны разделы? |Ширина=35%|Содержание= Вы можете спросить: зачем вообще нужны разделы? Почему нельзя поместить всю файловую систему на один большой раздел? Вот несколько веских причин этого не делать: | {{Врезка|right|Заголовок=Зачем нужны разделы? |Ширина=35%|Содержание= Вы можете спросить: зачем вообще нужны разделы? Почему нельзя поместить всю файловую систему на один большой раздел? Вот несколько веских причин этого не делать: | ||
Строка 217: | Строка 223: | ||
» Если у вас несколько жестких дисков, это в любом случае не один раздел.}} | » Если у вас несколько жестких дисков, это в любом случае не один раздел.}} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Filesystem Size Used Avail Use% Mounted on | Filesystem Size Used Avail Use% Mounted on |
Версия 03:50, 20 октября 2018
|
|
|
По рецептам доктора Брауна
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
chris.linuxformat@gmail.com
Эзотерическое системное администрирование из причудливых заворотов кишок серверной
Содержание |
Не купите ли /22?
2012-й может стать годом, когда исчерпаются IP-адреса.
Что общего у площади тропических лесов на планете и количества доступных адресов IPV4? Ответ: (1) и то, и другое тает, (2) и то, и другое опасно близится к нулю и (3) число тех, кто принимает контрмеры, недостаточно.
Выделение IP-адресов происходит по иерархической пищевой цепочке. В ее начале IANA [американская некоммерческая организация, управляющая пространствами IP-адресов Интернета, – прим. пер.] выдает блоки адресов пяти региональным регистраторам Интернета, а те, в свою очередь, локальным регистраторам, таким как провайдеры и университеты.
Регистратор | Регион | Осталось блоков на /8 |
AfriNIC | Африка | 4.18 |
APNIC | Азия и Океания | 0.92 |
ARIN | Северная Америка | 3.17 |
LACNIC | Южная Америка | 3.43 |
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
В феврале 2011 года IANA выделила региональным регистраторам пять последних блоков /8. Количество блоков, оставшихся у них на момент написания статьи, приведено в таблице внизу. Всего это составляет около 200 миллионов адресов. Вроде и много, но на практике – хватит лишь на несколько месяцев. Мы научились более экономно расходовать адреса IPV4, например, с помощью NAT, а провайдеры даже наслаивают устройства NAT, чтобы выгадать на диапазонах адресов. Но NAT всегда были пришлепкой, разрушавшей базовую концепцию Интернета о прямой адресации каждого узла. Кстати, некоторые назначенные, но не используемые диапазоны адресов можно восстановить и назначить снова, отложив полное истощение запасов еще на какое-то время. Интересно, скоро ли блоки адресов IPV4 начнут продавать на eBay?
Но настоящее решение – протокол IPV6. С длиной адреса в 128 бит он позволяет получить 3,4 × 10^38 адресов. Это почти по 60 миллионов на каждую бактериальную клетку планеты. Linux, как и многие крупные сайты, поддерживает сетевой стек IPV6 уже несколько лет, но провайдеры не спешат предоставить соответствующие сервисы. Хотелось бы знать, многие ли из вас пользуются внутренними сетями IPV6, и многим ли провайдеры обещали поддержку IPV6 в будущем. Напишите мне на chris.linuxformat@gmail.com.
Итак, вы хотите стать сисадмином?
Третья часть серии, которая превратит вас из новичка в звезду системного администрирования. На этот раз говорим об управлении жесткими дисками.
Месяц назад мы настраивали IP-сети на серверах Linux. Теперь рассмотрим основы управления хранилищами. Для начала добавим пустой новый диск, разобьем его на разделы, создадим на них файловые системы и подключим их к дереву файловой системы Linux.
Во всех статьях этой серии мы пользуемся CentOS 6.2. Если вы хотите следовать за мной (что я сильно советую), установите CentOS (можно и в виртуальную машину) в соответствии с описанием из первой статьи.
Одно из достоинств обучения на виртуальной машине в том, что в ней легко добавить новые диски, не прибегая ни к отвертке, ни к кредитной карте. И в VMWare Workstation, и в VirtualBox есть простой мастер добавления нового оборудования. Мой образ запущен в VirtualBox. Изначально в нем был один виртуальный жесткий диск на 20 ГБ (Linux знает его как /dev/sda), поэтому начнем с добавления второго виртуального диска объемом 10 ГБ; он получит имя /dev/sdb. Затем мы создадим на нем два раздела: один для /home, а второй для новой специальной папки, которую мы назовем /bigdata. Конечно, 10 ГБ по нынешним стандартам мелочь. Их достаточно для иллюстрации идеи (в чем и состоит наша цель), но в реальном мире к этим цифрам нужно приписать еще пару нулей.
Проверяем, что это работает
В VirtualBox я добавил 10-ГБ диск к контроллеру SATA. После загрузки системы стоит проверить, что ядро обнаружило новое устройство. Поскольку устройство виртуальное, то вряд ли оно не будет работать, но мы все-таки проверим. Для этого получим содержимое буфера сообщений ядра командой dmesg, выделив нужные записи с помощью grep:
$ dmesg | grep SCSI
SCSI subsystem initialized
sd 3:0:0:0: [sdb] Attached SCSI disk
sd 2:0:0:0: [sda] Attached SCSI disk
Для получения подробностей про sdb попробуйте ввести следующую команду:
$ dmesg | grep sdb
sd 3:0:0:0: [sdb] 20971520 512-byte logical blocks: (10.7 GB/10.0 GiB)
sd 3:0:0:0: [sdb] Write Protect is off
sd 3:0:0:0: [sdb] Mode Sense: 00 3a 00 00
sdb: unknown partition table
sd 3:0:0:0: [sdb] Attached SCSI disk
Заметьте, что ядро верно отображает объем диска, но жалуется на таблицу разделов – и неудивительно, потому что ее на диске еще нет.
Еще один способ проверить, что диск распознан – вывести список соответствующих устройств:
$ ls -l /dev/sd*
brw-rw----. 1 root disk 8, 0 Jul 19 22:15 /dev/sda
brw-rw----. 1 root disk 8, 1 Jul 19 14:31 /dev/sda1
brw-rw----. 1 root disk 8, 2 Jul 19 14:30 /dev/sda2
brw-rw----. 1 root disk 8, 16 Jul 19 22:15 /dev/sdb
Здесь мы видим, что на первом диске (sda) есть два раздела, а на втором их нет. С этого момента для выполнения большинства команд вам нужно войти в систему от имени суперпользователя-root. Будьте осторожны! Можно сразу создать файловую систему на целом диске, но обычно сперва создаются разделы, а затем на них помещаются файловые системы. Существует несколько утилит для разбиения диска на разделы – некоторые описаны ниже в таблице. Я буду консерватором и выберу fdisk. Да, она неуклюжа, но освоив ее, пользоваться ею довольно просто. Наши действия по созданию разделов показаны на рисунке на стр. 58 – то, что вводит пользователь, выделено красным. Пройдемся по ним шаг за шагом:
fdisk | Утилита командной строки, неуклюжая, но надежная. Понимает только традиционные таблицы разделов MSDOS. |
cfdisk | Возможности аналогичны fdisk, но интерфейс – графический, запускаемый из терминала. |
parted | Более современная утилита, способная создавать разделы различных типов. В частности, умеет создавать таблицы разделов GPT, требуемые для дисков свыше 2 ТБ. |
» В командной строке запустим fdisk, указав имя нового диска как аргумент. Здесь лучше обойтись без опечаток!
» Попросим fdisk создать новый раздел (n), который должен был первичным (p). Пожелай мы на диске больше четырех разделов, пришлось бы знакомиться с расширенными и логическими разделами, но это не наш случай.
» У нас спросят номер первого цилиндра. Просто примем значение по умолчанию – 1, чтобы наш раздел попал в начало диска.
» У нас спросят номер последнего цилиндра. Вместо номера цилиндра можно указать размер раздела (5G – это 5 ГБ). Кстати, если вам интересно, что такое цилиндр, то на заре эпохи жестких дисков так назывались все дорожки заданного радиуса (на всех дисках), т. е. цилиндр – это область диска, доступная из данного положения считывающих головок. В современных дисках номера цилиндров имеют мало общего с физической геометрией диска, и цилиндр следует считать единицей выделяемых данных. fdisk сообщит вам число байт в цилиндре для вашего диска.
» Повторим эти действия для создания второго раздела, но на сей раз для номеров первого и последнего цилиндра просто примем значения по умолчанию. Поэтому наш второй раздел начнется сразу после первого и продолжится до конца диска.
» Теперь выведем таблицу разделов (p) и проверим, что она выглядит так, как мы ожидаем. Значения параметров Start [начало] и End [Конец] опять же задаются как номера цилиндров.
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
» Наконец, запишем таблицу разделов на диск (w). До этого на диск ничего не писалось, а теперь уже настала точка невозврата. Кстати, parted записывает изменения на диск незамедлительно, а значит, менее терпима к опечаткам.
Мы вновь в командной строке. Проверим, что ядро знает о наших новых разделах:
# cat /proc/partitions
major minor #blocks name
8 0 20971520 sda
8 1 10240000 sda1
8 2 1024000 sda2
8 16 10485760 sdb
8 17 5253223 sdb1
8 18 5229157 sdb2
В некоторых системах нужно скомандовать partprobe, чтобы принудить ядро перечитать таблицу разделов. Если это не работает, попробуйте перезагрузить систему (но только в качестве последнего средства).
Создаем файловую систему
Можно ли теперь записывать файлы на новый диск? Не совсем: на каждом из разделов надо создать пустую файловую систему. Linux поддерживает большой диапазон файловых систем, но самый популярный вариант на данный момент – ext4.
Можно создать файловые системы на наших новых двух разделах так:
# mkfs.ext4 -L /home /dev/sdb1
# mkfs.ext4 -L /bigdata /dev/sdb2
Для опечаток опять же не время – постарайтесь не переформатировать раздел, где уже имеется файловая система! Отметим, что команда mkfs по мере своей работы выведет подробный отчет о параметрах файловой системы (здесь я его не привел). Я дал двум файловым системам метки /home и /bigdata. Это просто текстовые строки, но я следую соглашению, по которому в качестве метки используется имя точки монтирования. Позже вы поймете, почему.
Эти файловые системы не совсем пусты. На них есть каталог lost+found, который используется программой fsck (проверяющей целостность файловой системы), если на диске найдутся файлы, лишенные ссылки. Этого может не произойти никогда, но советую тем не менее оставить этот каталог в покое. При удалении его можно воссоздать командой mklost+found.
Прежде чем пользоваться новыми файловыми системами, нужно сделать еще одну вещь: смонтировать их в дерево файловой системы. У каждого раздела должна быть точка монтирования – каталог, к которому она подключается. Назвав раздел bigdata, создадим ему новехонькую точку монтирования:
# mkdir /bigdata
Теперь его можно смонтировать:
# mount /dev/sdb2 /bigdata
Ну вот, наша новая файловая система готова к употреблению. Чтобы в этом убедиться, скопируйте в нее пару файлов, например:
# cp /etc/*.conf /bigdata
С разделом home все немного сложнее, ведь у нас уже есть каталог /home, где уже имеются какие-то файлы. Во-первых, убедитесь, что в системе нет обычных пользователей, которые могут использовать файловую систему /home. Это проверяется командой who:
# who
root pts/0 2012-07-19 23:56 (192.168.1.72)
Как видите, в системе есть только суперпользователь-root (в данном случае, подключенный по ssh), и мы можем продолжать. Нужно смонтировать новый раздел в каталог /home и скопировать туда исходное содержимое каталога. Сначала временно переименуем каталог /home:
# mv /home /home-temp
Теперь создадим новую точку монтирования:
# mkdir /home
Если в системе включен SELinux (а в CentOS 6 он включен по умолчанию), также потребуется изменить контекст безопасности нового каталога:
# restorecon -v /home
Смонтируйте новый раздел как прежде:
# mount /dev/sdb1 /home
Теперь скопируйте (cp) все исходные файлы в новую файловую систему. Параметр -a означает, что скопируются все подкаталоги и сохранятся все атрибуты файлов:
# cp -a /home-temp/* /home
Наконец (предварительно проверив, что новый раздел работает нормально), удалите исходный каталог:
# rm -rf /home-temp
Готово. Наша файловая система /home переехала на новый раздел, и никто ничего не заподозрит.
Проверим командой df, что все смонтировалось правильно:
# df -h
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 9.7G 2.9G 6.3G 32% /
tmpfs 504M 124K 504M 1% /dev/shm
/dev/sdb 1 5.0G 140M 4.6G 3% /home
/dev/sdb 2 5.0G 138M 4.6G 3% /bigdata
Монтирование навсегда
На самом деле это еще не все, так как наши команды mount влияют только на текущее ядро, и после перезагрузки изменения исчезнут. А перезагрузки – взглянем правде в глаза – бывают и в Linux. Чтобы сделать изменения «постоянными», нужно создать несколько записей в /etc/fstab. Я подробно описывал его содержимое (в серии «Etcetera с иллюстрациями») в LXF152-153. Не буду повторяться – просто приведу строки, которые нужно добавить в fstab. Проще всего добавить две таких:
/dev/sdb1 /home ext4 defaults 0 2
/dev/sdb2 /bigdata ext4 defaults 0 2
Кстати, поосторожнее при редактировании этого файла. Ошибки в нем могут привести к отказу при загрузке системы. Здесь для идентификации разделов мы указываем имена устройств в Linux. Это прекрасно, если мы можем гарантировать, что при каждой загрузке системы ядро будет обнаруживать диски в одном и том же порядке (и, следовательно, давать им одни и те же имена). Но более надежный способ идентификации разделов – метки, использованные при создании файловых систем. Для этого изменим записи в fstab следующим образом:
LABEL=/home /home ext4 defaults 0 2
LABEL=/bigdata /bigdata ext4 defaults 0 2
Есть и третий способ идентификации раздела – универсальный идентификатор (UUID) – одно из тех жутких 128-битных чисел, уникальных в пределах Вселенной (насчет этого сомневаюсь...), которых вокруг пруд пруди. UUID назначается файловой системе автоматически при выполнении команды mkfs. Если, как я и рекомендовал, вы работаете в CentOS, вы увидите, что такие идентификаторы используются в fstab для корневого раздела и раздела подкачки. Метку и UUID тома покажет команда dumpe2fs:
# dumpe2fs /dev/sdb1 | head -3
Filesystem volume name: /home
Last mounted on: /home
Filesystem UUID: 4b4322f0-cc27-4d39-99d5-c9b3e7fb60a5
Для задания новой метки или изменения существующей пригодится команда tune2fs:
# tune2fs -L mynewlabel /dev/sdb1
На вопрос «У какого раздела такая-то метка?» ответит команда findfs:
# findfs LABEL=/home
/dev/sdb1
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Итак, подведем итоги. Мы добавили новый диск, убедились, что ядро обнаружило его, разбили диск на разделы, создали на них файловые системы и подключили их к нашему дереву каталогов. Наконец, мы добавили записи в fstab, чтобы сделать эти изменения «постоянными». Вы можете пойти и дальше, например, экспортировав файловую систему /bigdisk с NFS. Я подробно описал это в LXF160 и повторяться не буду.
Если у вас возникнут вопросы, пишите мне на chris.linuxformat@gmail.com, и я попробую помочь. Не обещаю ответить на все, но чем яснее формулировка проблемы, тем выше вероятность того, что я отвечу! |
> Для создания разделов с fdisk используются однобуквенные команды. Круто? Не очень. Надежно? Да!
Создаем файловую систему
Можно ли теперь записывать файлы на новый диск? Не совсем: на каждом из разделов надо создать пустую файловую систему. Linux поддерживает большой диапазон файловых систем, но самый популярный вариант на данный момент – ext4.
Можно создать файловые системы на наших новых двух разделах так:
- mkfs.ext4 -L /home /dev/sdb1
- mkfs.ext4 -L /bigdata /dev/sdb2
Для опечаток опять же не время – постарайтесь не переформатировать раздел, где уже имеется файловая система! Отметим, что команда mkfs по мере своей работы выведет подробный отчет о параметрах файловой системы (здесь я его не привел). Я дал двум файловым системам метки /home и /bigdata. Это просто текстовые строки, но я следую соглашению, по которому в качестве метки используется имя точки монтирования. Позже вы поймете, почему.
Эти файловые системы не совсем пусты. На них есть каталог lost+found, который используется программой fsck (проверяющей целостность файловой системы), если на диске найдутся файлы, лишенные ссылки. Этого может не произойти никогда, но советую тем не менее оставить этот каталог в покое. При удалении его можно воссоздать командой mklost+found.
Прежде чем пользоваться новыми файловыми системами, нужно сделать еще одну вещь: смонтировать их в дерево файловой системы. У каждого раздела должна быть точка монтирования – каталог, к которому она подключается. Назвав раздел bigdata, создадим ему новехонькую точку монтирования:
- mkdir /bigdata
Теперь его можно смонтировать:
- mount /dev/sdb2 /bigdata
Ну вот, наша новая файловая система готова к употреблению. Чтобы в этом убедиться, скопируйте в нее пару файлов, например:
- cp /etc/*.conf /bigdata
С разделом home все немного сложнее, ведь у нас уже есть каталог /home, где уже имеются какие-то файлы. Во-первых, убедитесь, что в системе нет обычных пользователей, которые могут использовать файловую систему /home. Это проверяется командой who:
- who
root pts/0 2012-07-19 23:56 (192.168.1.72)
Как видите, в системе есть только суперпользователь-root (в данном случае, подключенный по ssh), и мы можем продолжать. Нужно смонтировать новый раздел в каталог /home и скопировать туда исходное содержимое каталога. Сначала временно переименуем каталог /home:
- mv /home /home-temp
Теперь создадим новую точку монтирования:
- mkdir /home
Если в системе включен SELinux (а в CentOS 6 он включен по умолчанию), также потребуется изменить контекст безопасности нового каталога:
- restorecon -v /home
Смонтируйте новый раздел как прежде:
- mount /dev/sdb1 /home
Теперь скопируйте (cp) все исходные файлы в новую файловую систему. Параметр -a означает, что скопируются все подкаталоги и сохранятся все атрибуты файлов:
- cp -a /home-temp/* /home
Наконец (предварительно проверив, что новый раздел работает нормально), удалите исходный каталог:
- rm -rf /home-temp
Готово. Наша файловая система /home переехала на новый раздел, и никто ничего не заподозрит.
Проверим командой df, что все смонтировалось правильно:
- df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 9.7G 2.9G 6.3G 32% /
tmpfs 504M 124K 504M 1% /dev/shm
/dev/sdb 1 5.0G 140M 4.6G 3% /home
/dev/sdb 2 5.0G 138M 4.6G 3% /bigdata
Монтирование навсегда
На самом деле это еще не все, так как наши команды mount влияют только на текущее ядро, и после перезагрузки изменения исчезнут. А перезагрузки – взглянем правде в глаза – бывают и в Linux. Чтобы сделать изменения «постоянными», нужно создать несколько записей в /etc/fstab. Я подробно описывал его содержимое (в серии «Etcetera с иллюстрациями») в LXF152-153. Не буду повторяться – просто приведу строки, которые нужно добавить в fstab. Проще всего добавить две таких:
/dev/sdb1 /home ext4 defaults 0 2
/dev/sdb2 /bigdata ext4 defaults 0 2
Кстати, поосторожнее при редактировании этого файла. Ошибки в нем могут привести к отказу при загрузке системы. Здесь для идентификации разделов мы указываем имена устройств в Linux. Это прекрасно, если мы можем гарантировать, что при каждой загрузке системы ядро будет обнаруживать диски в одном и том же порядке (и, следовательно, давать им одни и те же имена). Но более надежный способ идентификации разделов – метки, использованные при создании файловых систем. Для этого изменим записи в fstab следующим образом:
LABEL=/home /home ext4 defaults 0 2
LABEL=/bigdata /bigdata ext4 defaults 0 2
Есть и третий способ идентификации раздела – универсальный идентификатор (UUID) – одно из тех жутких 128-битных чисел, уникальных в пределах Вселенной (насчет этого сомневаюсь...), которых вокруг пруд пруди. UUID назначается файловой системе автоматически при выполнении команды mkfs. Если, как я и рекомендовал, вы работаете в CentOS, вы увидите, что такие идентификаторы используются в fstab для корневого раздела и раздела подкачки. Метку и UUID тома покажет команда dumpe2fs:
- dumpe2fs /dev/sdb1 | head -3
Filesystem volume name: /home
Last mounted on: /home
Filesystem UUID: 4b4322f0-cc27-4d39-99d5-c9b3e7fb60a5
Для задания новой метки или изменения существующей пригодится команда tune2fs:
- tune2fs -L mynewlabel /dev/sdb1
На вопрос «У какого раздела такая-то метка?» ответит команда findfs:
- findfs LABEL=/home
/dev/sdb1
Итак, подведем итоги. Мы добавили новый диск, убедились, что ядро обнаружило его, разбили диск на разделы, создали на них файловые системы и подключили их к нашему дереву каталогов. Наконец, мы добавили записи в fstab, чтобы сделать эти изменения «постоянными». Вы можете пойти и дальше, например, экспортировав файловую систему /bigdisk с NFS. Я подробно описал это в LXF160 и повторяться не буду.
Если у вас возникнут вопросы, пишите мне на chris.linuxformat@gmail.com, и я попробую помочь. Не обещаю ответить на все, но чем яснее формулировка проблемы, тем выше вероятность того, что я отвечу! |