LINUX.ORG.RU
ФорумAdmin

Определить 2 диска под home

 , ,


0

1

Здравствуйте! Есть физический сервер с Debian, на котором установлено 2 SAS диска по 146 гб. Как сделать, чтобы объем этих двух дисков использовался под home? Заранее благодарен!

# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            3.9G     0  3.9G   0% /dev
tmpfs           796M  712K  795M   1% /run
/dev/md0         28G  4.4G   22G  17% /
tmpfs           3.9G     0  3.9G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
/dev/md1        103G   98G     0 100% /home
tmpfs           796M     0  796M   0% /run/user/0
tmpfs           796M     0  796M   0% /run/user/1000

# /usr/sbin/fdisk -l
Disk /dev/sdb: 136.73 GiB, 146815737856 bytes, 286749488 sectors
Disk model: DF0146B8052
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x3d54be84

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sdb1        58595326 286748671 228153346 108.8G  5 Extended
/dev/sdb2            2048  58593279  58591232  27.9G fd Linux raid autodetect
/dev/sdb5       278937600 286748671   7811072   3.7G 82 Linux swap / Solaris
/dev/sdb6        58595328 278937599 220342272 105.1G fd Linux raid autodetect

Partition table entries are not in disk order.


Disk /dev/sda: 136.73 GiB, 146815737856 bytes, 286749488 sectors
Disk model: DF0146B8052
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x2d8b6b12

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1        58595326 286748671 228153346 108.8G  5 Extended
/dev/sda2  *         2048  58593279  58591232  27.9G fd Linux raid autodetect
/dev/sda5       278937600 286748671   7811072   3.7G 82 Linux swap / Solaris
/dev/sda6        58595328 278937599 220342272 105.1G fd Linux raid autodetect

Partition table entries are not in disk order.


Disk /dev/md1: 105 GiB, 112747085824 bytes, 220209152 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes


Disk /dev/md0: 27.92 GiB, 29980884992 bytes, 58556416 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

# lsblk
NAME    MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda       8:0    0 136.7G  0 disk
├─sda1    8:1    0     1K  0 part
├─sda2    8:2    0  27.9G  0 part
│ └─md0   9:0    0  27.9G  0 raid1 /
├─sda5    8:5    0   3.7G  0 part  [SWAP]
└─sda6    8:6    0 105.1G  0 part
  └─md1   9:1    0   105G  0 raid1 /home
sdb       8:16   0 136.7G  0 disk
├─sdb1    8:17   0     1K  0 part
├─sdb2    8:18   0  27.9G  0 part
│ └─md0   9:0    0  27.9G  0 raid1 /
├─sdb5    8:21   0   3.7G  0 part  [SWAP]
└─sdb6    8:22   0 105.1G  0 part
  └─md1   9:1    0   105G  0 raid1 /home


Последнее исправление: maxcom (всего исправлений: 1)

└─md1 9:1 0 105G 0 raid1 /home
Disk /dev/md1: 105 GiB, 112747085824 bytes, 220209152 sectors 
Units: sectors of 1 * 512 = 512 bytes 
Sector size (logical/physical): 512 bytes / 512 bytes 
I/O size (minimum/optimal): 512 bytes / 512 bytes

Он же уже.

Aceler ★★★★★
()
Последнее исправление: Aceler (всего исправлений: 1)
Ответ на: комментарий от Jonikster

Я правильно понимаю, что ты предлагаешь разобрать зеркальный RAID на сервере, чтобы получить немного больше места?

Это очень плохая идея. Не, ну если данные не нужны, то пусть. Твои данные, твои проблемы - переведи RAID из зеркала в полосатый.

Если ты не понял, что я только что написал, лучше ничего не делай :-)

Aceler ★★★★★
()
Ответ на: комментарий от firkax

В lvm есть поддержка raid сделанная очень даже неплохо (и в некоторых случаях производительней чем в md). А ещё там есть raidintegrity который позволяет ловить ошибки silent data corruption в отличие от md

no-dashi-v2 ★★
()
Ответ на: комментарий от Jonikster

Т.е если у меня по параметрам физического сервера заявлены 2 SAS диска по 146 гб, по факту я имею 100 гб и это нормально?

Если ты не можешь отформатировать сообщение и понять что написано в выводе команд - то да, это нормально.

no-dashi-v2 ★★
()
# fdisk -l
Disk /dev/sdb: 136.73 GiB, 146815737856 bytes, 286749488 sectors
Disk model: DF0146B8052
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x3d54be84

Device		Boot	Start		End		Sectors		Size	Id Type
/dev/sdb1		58595326 	286748671	228153346	108.8G	5 Extended
/dev/sdb2		2048		58593279	58591232	27.9G	fd Linux raid autodetect
/dev/sdb5		278937600	286748671	7811072		3.7G 82	Linux swap / Solaris
/dev/sdb6		58595328	278937599	220342272	105.1G	fd Linux raid autodetect

Disk /dev/sda: 136.73 GiB, 146815737856 bytes, 286749488 sectors
Disk model: DF0146B8052
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x2d8b6b12

Device		Boot	Start		End		Sectors		Size	Id Type
/dev/sda1		58595326	286748671	228153346	108.8G	5 Extended
/dev/sda2	*	2048		58593279	58591232	27.9G	fd Linux raid autodetect
/dev/sda5		278937600	286748671	7811072		3.7G	82 Linux swap / Solaris
/dev/sda6		58595328	278937599	220342272	105.1G	fd Linux raid autodetect

# lsblk
NAME	MAJ:MIN	RM	SIZE	RO	TYPE	MOUNTPOINT
sda	  8:0	 0	136.7G	0	disk
├─sda1	  8:1	 0	    1K	0	part
├─sda2	  8:2	 0	 27.9G	0	part
│ └─md0	  9:0	 0	 27.9G	0	raid1	/
├─sda5	  8:5	 0	  3.7G	0	part	[SWAP]
└─sda6    8:6    0	105.1G	0	part
└─md1	  9:1	 0	  105G	0	raid1	/home
sdb	  8:16	 0	136.7G	0	disk
├─sdb1	  8:17	 0	    1K	0	part
├─sdb2	  8:18	 0	 27.9G	0	part
│ └─md0	  9:0	 0	 27.9G	0	raid1	/
├─sdb5	  8:21	 0	  3.7G	0	part	[SWAP]
└─sdb6	  8:22	 0	105.1G	0	part
└─md1	  9:1	 0	  105G	0	raid1	/home

А ты не мог потрудиться прочитать описание разметки?

Вот не зря же под формой помещения сообщения есть текст:

Пустая строка (два раза Enter) начинает новый абзац. Знак ‘>’ в начале абзаца выделяет абзац курсивом цитирования.

Внимание: прочитайте описание разметки Markdown или LORCODE.

Прочти пожалуйста описание разметки и используй кнопку «Предпросмотр» под формой помещения комментария.

У тебя в /home смонтирован /dev/md1. Это RAID массив, скорее всего, уровня RAID1, который собран из разделов /dev/sda6 и /dev/sdb6 дисков /dev/sda и /dev/sdb.

Просто так разобрать массив и увеличить /home нельзя. Да и вообще чтобы из разделов разных дисков получить новое блочное устройство суммарной ёмкостью тебе нужно использовать либо RAID уровня RAID0, при котором выход любого из дисков приведёт к потере данных, либо собрать группу томов LVM из разделов разных дисков, что тоже приведёт к потере данных в случае выхода одного из дисков из строя.

Если тебе это нужно - копируй данные с /home на другой носитель, разбирай RAID1, собирай RAID0 или делай группу томов LVM, создавай логический том, в случае LVM, затем файловую систему, монтируй её и возвращай данные.

Если копировать некуда можешь попробовать так: удаляешь один диск (раздел) из RAID1, создаёшь из него группу томов, создаёшь логический том, файловую систему на нём, монтируешь, копируешь на файловую систему данные. Затем удаляешь из RAID1 последний диск (раздел) и добавляешь его в группу томов LVM, расширяешь логический том, расширяешь файловую систему.

Ну и у тебя каша с таблицей разделов.

Disk /dev/sdb: 136.73 GiB, 146815737856 bytes, 286749488 sectors
Disk model: DF0146B8052
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x3d54be84

Device		Boot	Start		End		Sectors		Size	Id Type
/dev/sdb1		58595326 	286748671	228153346	108.8G	5 Extended
/dev/sdb2		2048		58593279	58591232	27.9G	fd Linux raid autodetect
/dev/sdb5		278937600	286748671	7811072		3.7G 82	Linux swap / Solaris
/dev/sdb6		58595328	278937599	220342272	105.1G	fd Linux raid autodetect

У тебя в начале идёт запись о расширенном разделе, хотя номер начального сектора раздела 58595326, а конечный 286748671.

А только потом идёт запись второго раздела, чей начальный сектор 2048, а конечный 58593279.

По сути присутствующая в твоей таблице запись о втором разделе должна идти первой.

Видимо ты использовал acronis disk director или ещё какую-либо мега-пупер утилиту для редактирования таблицы разделов.

В идеале должно быть так:

Device		Boot	Start		End		Sectors		Size	Id Type
/dev/sdb1		2048		58593279	58591232	27.9G	fd Linux raid autodetect
/dev/sdb2		58595326 	286748671	228153346	108.8G	5 Extended
/dev/sdb5		278937600	286748671	7811072		3.7G 82	Linux swap / Solaris
/dev/sdb6		58595328	278937599	220342272	105.1G	fd Linux raid autodetect

Аналогично и на втором диске проблемы с нумерацией разделов.

Вот как-то так должно было быть оформлено твоё сообщение.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)
Ответ на: комментарий от AVL2

С чего это вдруг? Ты собрал группу томов из разделов двух дисков, в ней логический том. Записал на логический том данных больше чем один физический том (диск/раздел). Потом у тебя один из дисков умирает и ты теряешь данные.

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

kostik87 ★★★★★
()
Ответ на: комментарий от AVL2

Ты понимаешь что такое LVM?

В начале на накопителях создаются разделы, но это не обязательно.

Потом на накопителях или разделах накопителей создаются физические тома LVM.

Потом эти физические тома LVM добавляются в группу томов LVM.

Потом в группе томов LVM создаются логические тома LVM.

И вот логических том LVM в системе представляется как блочное устройство. На котором ты создаёшь файловую систему.

И всё, что ты пишешь на логический том LVM, расположенный в группе томов LVM распределяется по физическим томам LVM.

Т.е. данные записываемые на логический том LVM распределяются по всем дискам (разделам), на основе которых собран LVM.

А теперь представь что часть блочного устройства на котором находится файловая система стала недоступна. Т.е. вот ты взял и вынул один диск из системы и всё, LVM рухнул.

Ну или другая картина, есть у тебя 1 диск на 500 Гб, на нём один раздел и одна файловая система. На файловую систему ты записал данные, а потом взял и на последние 250 Гб записал поверх всех данных нули.

Всё в порядке у тебя будет с данными? Будут ли они читаться? Всё ли будет в порядке с файловой системой?

Разумеется можно попробовать восстановить часть данных с помощью средства восстановления данных, но это в случае одного диска.

В случае же распределения LVM по нескольким накопителям записываемые данные распределяются по физическим томам, т.е. разделам пропорционально их размера и заполненности.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

да тоже самое будет. Част диска не читается, что теперь, не жить? Может быть фатальный исход но в реальности обычно часть данных которая в бедблоках, убивается, остальное читается.

В раидах сложнее, поскольку там данные режутся на страйпы и раскидываются по всем дискам, поэтому если диск вылетел, то вылетает каждые n-байт данных, что приводит к нечитаемости всего. В lvm не ставится задача увеличить быстродействие за счет параллельной записи-чтения, поэтому и восстановимость выше.

AVL2 ★★★★★
()
Ответ на: комментарий от AVL2

Может быть фатальный исход но в реальности обычно часть данных которая в бедблоках, убивается, остальное читается.

В современной реальности доведение до бэдов означает что пользователь ССЗБ и на данные ему плевать или же что хард внезапно пошел по ЖПП.

В lvm не ставится задача увеличить быстродействие за счет параллельной записи-чтения, поэтому и восстановимость выше.

Слишком много нюансов зависящих от реализации самой fs. На примере ext4, предположим что у вас на первом диске заполнено 80%, вам понадобилось записать «большой» файл который занимает 1%, однако в этих 80% нет непрерывного кол-ва свободных блоков под этот файл, файло улетит на второй диск.

anc ★★★★★
()
Ответ на: комментарий от anc

В современной реальности доведение до бэдов означает что пользователь ССЗБ и на данные ему плевать или же что хард внезапно пошел по ЖПП.

Трудно сказать. Каких только ситуаций не было за последние двадцать лет. Были и внезапные смерти дисков, когда смарт чистый, а диск умер. Замена по регламенту, а не по смарту вещь хорошая, но слабореализуема в большинстве компаний.

Слишком много нюансов зависящих от реализации самой fs. На примере ext4, предположим что у вас на первом диске заполнено 80%, вам понадобилось записать «большой» файл который занимает 1%, однако в этих 80% нет непрерывного кол-ва свободных блоков под этот файл, файло улетит на второй диск.

Конечно, все сильно зависит от ситуации, но потеря побитого файла, это норма в устройствах без избыточности (да и с избыточностью такое возможно). А в раиде 0 каждый файл будет порезан между всеми дисками, так что вероятность попасть куда выше.

AVL2 ★★★★★
()
Ответ на: комментарий от AVL2

поэтому и восстановимость выше

Строго одинаковая. Если данные нужны, они восстанавливаются из бэкапа. Если бэкапа нет, значит данные не нужны. Сколько данных, и каким образом, порушилось в результате инцидента, ни в том, ни в другом, случае не важно. Понятно, конечно, что в обычной жизни обычный человек над таким не задумывается, а если и задумывается, то полагается на русский авось. И только когда жаренный петух клюнул, начинает слёзно умолять спасти хоть какие-то фоточки любимого котика. Тут да, тут восстановимость имеет значение. Вот только обычный человек в обычной жизни не делает себе ни lvm, ни raid.

gremlin_the_red ★★★★★
()
Ответ на: комментарий от AVL2

Да тут всё проще. ТС не может понять что у него два рейда, один на 30гб примерно и второй на 100.

Так что завязывайте со срачем, он не в тему.

А вообще можно в лвм юзать разные режимы, зеркало, линейный и с чередованием. Что именно выбирать зависит от задачи и оборудования

no-dashi-v2 ★★
()
Ответ на: комментарий от no-dashi-v2

А вообще можно в лвм юзать разные режимы, зеркало, линейный и с чередованием. Что именно выбирать зависит от задачи и оборудования

Я обычно так и делаю. Но по моему опыту, в раидах важней всего не тот код, который работает когда все хорошо, а полнота и качество того кода, который используется для гальванизации погибшего раида, его починки и возврата в мир живых, хотя бы для бэкапа. И в этой части lvm на мой взгляд не дотягивает до уровня mdraid.

AVL2 ★★★★★
()
Ответ на: комментарий от AVL2

Были и внезапные смерти дисков, когда смарт чистый, а диск умер.

Бывает... И более часто чем «бывает». Но тут надо уточнять что за диск с рождения. «Дешман», простите за мой французский, не удивительно когда улетает одномоментно. Не удивительно когда и «вынтерпайз» улетают, но это происходит реже.

anc ★★★★★
()
Ответ на: комментарий от kostik87

Ты понимаешь что такое LVM?

Да

И всё, что ты пишешь на логический том LVM, расположенный в группе томов LVM распределяется по физическим томам LVM.

Да, но существует сильно более одного способа распределения, внезапно

В случае же распределения LVM по нескольким накопителям записываемые данные распределяются по физическим томам, т.е. разделам пропорционально их размера и заполненности.

lvcreate –type raid1 -m 1 -n try-to-kill-this-volume-kid

no-dashi-v2 ★★
()
Ответ на: комментарий от no-dashi-v2

Ты прочитал вопрос ТС?

У него сейчас собран raid1. А он хочет получить весь объем накопителей.

Для этого ему одним из вариантов был предложен lvm.

В обычном режиме, когда диски объединяются в одну группу томов с плоским распределением экстентов.

Теперь же ты предлагаешь ему сделать raid 1 только уже с помощью lvm. Ты вообще головой думаешь или нет?

И вот в ситуации решения вопроса автора темы он потеряет данные в случае выхода одного из дисков в lvm.

Учитывай конкретную ситуацию, а в данном случае вопрос поднятый в теме.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)
Ответ на: комментарий от kostik87

Ты прочитал вопрос ТС?

У него сейчас собран raid1. А он хочет получить весь объем накопителей.

Для этого ему одним из вариантов был предложен lvm.

Товарищ @AVL2 по факту топит за LVM налево и направо. Непонятно почему. С моей точки зрения - даже в ситуациях когда даже близко не оправдано.

ТС походу вообще не понимает что творит, на что ему неоднократно намекали.

Ты понимаешь что такое LVM?

Со всем что Вы дальше написали я более-менее согласен. Пока я склонен быть солидарным с Вашим посылом. Как практик и прагматик.

bugfixer ★★★★★
()
Ответ на: комментарий от kostik87

Не вижу противоречия. Объем используется под /home. Весь, под две реплики. Если бы ТС хотел разобрать рейд и собрать два диска в один то пусть так и напишет. И да, тогда ему одна дорога в lvm. А делать его linear или striped десятого порядка вопрос. В общем случае при отказе одного диска потеря данных гарантирована.

no-dashi-v2 ★★
()
Ответ на: комментарий от no-dashi-v2

В норме там чтение и запись несколько сотен MB/s (~200 … 300 чтение, ~150 … 250 запись)

Без точного описания что это за циферки понять много это или мало довольно сложно. Если это в пике (и тем более померено на block device level, ie после WAF) - то это немного и примерно соответствует скорости одного HDD. Если это действительно среднее за день (и тем более на application level) - то это довольно много.

Пять дюжин серверов.

Это уже более менее серьёзно :) Но тем не менее: 8000LV / 60machines = ~133LV/machine. Куда столько? Это хостинг какой-то и надо клиентов изолировать?

bugfixer ★★★★★
()