Как увеличить размер каталога /var?

Первый вопрос:

Когда я бегу df -h Я вижу это:

# df -h
Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/ad4s1a    9.7G    8.0G    918M    90%    /
devfs          1.0K    1.0K      0B   100%    /dev
/dev/ad4s1d    1.8T    6.7G    1.6T     0%    /home
procfs         4.0K    4.0K      0B   100%    /proc
linprocfs      4.0K    4.0K      0B   100%    /usr/compat/linux/proc
devfs          1.0K    1.0K      0B   100%    /var/named/dev

Почему он не показывает каталоги, как:

/var/etc/usr

? На моем ранее выделенном сервере я мог просматривать каждый доступный размер раздела, но здесь я получил только /home а также /...

Второй вопрос:

Как я могу увеличить /var Размер раздела? Потому что после 2 часов работы этот раздел стал полным...

5 ответов

Решение

Команда df сообщает об использовании дискового пространства файловой системой. Ваш /var/etc а также /usr не являются отдельными файловыми системами, они являются частью / файловая система. У вас есть только 2 файловые системы / а также /home,

Если вы можете переустановить систему, вы можете изменить разделы, чтобы создать /var файловая система подходящего размера.

Если вы не можете, то вы можете попробовать создать ссылку /var ->/home/var но особенности того, как это сделать, зависят от того, какой у вас доступ к системе.

Как уже упоминалось выше, вы не можете увеличить /var насколько это не отдельная ФС. Но вы можете переместить его из / на большую ФС вроде /home, Единственное предложение - использовать dump/restore вместо этого переместить текущее содержимое / var в новое место mv или же tar вуду. Это сохраняет не только права владения и разрешения, но и так называемые "флаги", такие как schg / uchg для / var / empty. Также я хочу, чтобы вы не создавали hardlink /home/var -> /var, поскольку / home и / находятся в разных разделах. Как правило, все можно сделать так:

  # mkdir /home/var
  # cd /home/var
  # dump 0af - /var | restore rf -
  # chflags -R nouchg,noschg /var
  # rm -r /var
  # ls -s /home/var /var

Конечно, все вышеперечисленное требует однопользовательского режима или, если он недоступен, сначала нужно остановить все демоны, которые используют / var - например, sendmail или mysql.

Другая хорошая практика - убирайте не весь / var, а только dir, который имеет тенденцию расти. Таковы / var / db / mysql, / var / log и / var / mail. Я предпочитаю создавать для них отдельные дома - / usr / home / log, / usr / home / mysql и / usr / home / mail и так далее. Таким образом, директории связаны с их обычным местоположением в / var, чтобы предотвратить настройки программного обеспечения.

Почему он не показывает каталоги, как:

Потому что у них нет собственной файловой системы на этом компьютере, но они являются подкаталогами /,

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

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

Как я могу увеличить размер раздела /var? Потому что после 2 часов работы этот раздел стал полным...

Ты не можешь, потому что у тебя нет /var раздел.

Если вы добавите еще один диск, вы можете переместить все /var на этот диск и смонтировать его как /var,

Редактировать: я только что видел /home/ почти пусто Итак, переместите все свои вещи под /var в /home/var и заменить /var по символической ссылке. Возможно, вам придется сделать это в однопользовательском режиме или из системы спасения.

Я бы взял немного другой подход к тому, что было предложено до сих пор, просто потому, что мне не нравятся символические ссылки внутри /var, Как и прежде, создайте новый каталог в /home чтобы хранить данные, которые вы хотите переместить, и скопировать данные.

Вы можете использовать nullfs точка монтирования для монтирования реального каталога (например, /home/var/db/mysql) к месту, в котором это ожидает программное обеспечение:

mount -t nullfs /home/var/db/mysql /var/db/mysql

В /etc/fstabВы хотели бы это:

/home/var/db/mysql  /var/db/mysql  nullfs  rw   0    0

Обратите внимание, что для этого подхода вам нужно options NULLFS в вашем ядре, или вам нужен модуль ядра nullfs.

Что касается системы, она может получить доступ к содержимому /home/var/db/mysql через /var/db/mysql точно как обычно. Этот подход также означает, что такие утилиты, как stat(1) и realpath(1) будут сообщать пути как /varи не под /home/var,

Вы можете сделать это с помощью простой команды.

Обратите внимание, что приведенные ниже команды выделяют свободное пространство только для папки VAR.

Сначала проверьте место на диске, используя команду ниже.

      df -h

Filesystem              Size  Used Avail Use% Mounted on
/dev/mapper/system-var  9.1G  4.1G  4.5G  48% /var

Теперь запустите команду ниже, чтобы проверить свободное место.

      root@abc: vgs
VG     #PV #LV #SN Attr   VSize  VFree
system   1   6   0 wz--n- 79.52g 28.30g

Он показывает свободные места в системе и запускает команду ниже, чтобы увеличить размер.

      lvextend -L +1G /dev/mapper/system-var

эта команда увеличит пространство на 1 ГБ в папке VAR

      Extending logical volume var to xxx.xx GiB

Logical volume var successfully resized

Теперь запустите команду ниже

      resize2fs /dev/mapper/system-var

Теперь проверьте размер папки VAR, выполнив следующую команду:

      df -h

Выход будет

      Filesystem              Size  Used Avail Use% Mounted on
/dev/mapper/system-var   11G  4.1G  5.5G  43% /var

Надеюсь, это сработает.

Другие вопросы по тегам