Почему том XFS должен быть смонтирован для изменения размера?
Если у меня есть том ext4, я могу изменить его размер независимо от того, подключен он или нет resize2fs
команда (поставляющая устройство), но для раздела, отформатированного в XFS, мне потребуется смонтировать том, чтобы сделать это (используя xfs_growfs
). Для этого есть причина?
Кстати, если я хочу изменить размер тома XFS, могу ли я просто смонтировать его во временный каталог и запустить xfs_growfs
а затем снова размонтировать его? Независимо от того, был ли он установлен в другом месте? Или будет xfs_growfs
быть опасным, если один и тот же том смонтирован в нескольких точках монтирования?
1 ответ
Если у меня есть том ext4, я могу изменить его размер независимо от того, монтируется он или нет, используя команду resize2fs (предоставляя устройство), но для раздела, отформатированного в XFS, мне необходимо смонтировать том, чтобы сделать это (используя
xfs_growfs
). Для этого есть причина?
По той же причине, по которой нет инструмента для сокращения объема XFS, разработчики не считали его важным и поэтому никогда не реализовывали его. На самом деле я тоже могу понять причины этого. В сущности, нет случаев, когда вам нужно изменить размер тома, а также не можете его смонтировать, а обработка изменения размера в коде ядра означает, что вам не нужно беспокоиться о том, чистый том или нет.
Вероятно, стоит отметить, что xFS не уникальна в этом отношении, BTRFS также требует монтирования тома, прежде чем его можно будет изменять, и некоторые другие файловые системы тоже похожи на это. Другие могут быть изменены только если не установлены. Форматы ext2/3/4 на самом деле являются довольно странными в том смысле, что они могут быть изменены как при монтировании, так и при демонтаже.
Кстати, если я хочу изменить размер тома XFS, могу ли я просто смонтировать его во временный каталог и запустить
xfs_growfs
а затем снова размонтировать его? Независимо от того, был ли он установлен в другом месте? Или будетxfs_growfs
быть опасным, если один и тот же том смонтирован в нескольких точках монтирования?
Это немного сложнее, чтобы ответить. Все последние ядра Linux разумно обрабатывают несколько монтирований одного и того же тома (внутренне есть одно монтирование, на которое ссылаются все видимые экземпляры пользовательского пространства), и в таких ядрах совершенно безопасно смонтировать где-нибудь том XFS второй раз и запустить xfs_growfs
на это, хотя это не дает вам никаких преимуществ по сравнению с просто звонком xfs_growfs
на исходной точке монтирования, сделав это. Если вы используете более старое ядро или имеете дело с общим хранилищем, где находится другой узел, вам следует избегать повторного подключения тома независимо от того, что вы планируете делать с дополнительным монтированием, поскольку вы можете уничтожить его в процессе.