Разметка ссд под линукс
Настройка диска ssd в ubuntu в связке с hdd
Хочу поделиться опытом настройки диска ssd в Ubuntu. А также развеять мифы оптимизации. К тому же расскажу о монтировании дополнительного диска hdd, чтобы хранить большие объемы информации.
На свой ноутбук купил ssd диск, к тому же вместо оптического привода вставил hdd диск на 500 гигабайт, чтобы хранить фильмы, музыку, фотки.
1. Выравнивание диска ssd.
Итак, хотелось бы сказать про то, что на многих сайтах советуют выравнивать диски ssd. Хочу вас уверить, что и fdisk и gparted и стандартный менеджер разбивки дисков при установке ubuntu автоматически выравнивают разделы.
Вот таким образом я разбил свой диск ssd:
Для корневого раздела «/» выделил стандартно 40 гигабайт.
Для «swap» 4 гигабайта. (swap это хорошее дело на ssd, дальше опишу почему)
Для «/home» домашнего каталога — все остальное.
( Первый раздел это 200 мегабайт — загрузочный раздел для uefi.
В следующей статье расскажу как легко и просто поставить ubuntu на uefi )
Так вот, проверяется диск на выравнивание выполнением следующей команды в консоле: sudo parted /dev/sda align-check opt 1
Если будет выдано следующее сообщение:
«aligned», то значит ваш диск выравнен.
И не надо читать кучу форумов об этом, сидеть с калькулятором и вымерять, все делается автоматически, при использовании популярных программ, таких как gparted, gdisk, fdisk или менеджер дисков установщика.
2. Swap раздел нужен на ssd.
40:1 чтение:запись.
Поэтому не нужно объяснять, что чтение с ssd диска будет идти быстрее, чем с hdd.
Единственное, что нужно сделать, это изменить параметр swappiness на значение 10 . О том, как это можно сделать, написано в этой моей статье:
3. Настройка Trim.
О том, что такое Trim , можно почитать на википедии.
Скажу лишь, что это команда, которая посылает контроллеру информацию о том, где уже были удалены файлы и освобождено место, чтобы очистить информацию на диске.
Если TRIM не работает, накопитель узнает об удалении файла только в тот момент, когда ОС прикажет ему перезаписать LBA, покрывающий ставший ненужным файл.
Вся суть сводится к тому, чтобы включить это.
Для начала нужно проверить, поддерживает ли ваш ssd Trim , делается это выполнение следующей команды в терминале: sudo hdparm -I /dev/sda | grep «TRIM supported»
Если в результате будет сообщение «Trim supported»:
То можно перейти к самой настройке включения.
Можно запускать в ручную командой: sudo fstrim / -v
Выполнение может занять какое-то время, в случае успешности операции, вы увидите следующее сообщение:
То значит Trim был успешно выполнить.
Автоматическое включение можно настроить добавление discard в опции монтирования fstab, об этом расскажу ниже. ( Но многие говорят, что это плохой способ )
Либо создав задачу в Cron (менеджере задач по расписанию):
Создаем ежедневную задачу с именем «trim» следующей командой: sudo gedit /etc/cron.daily/trim
И в открывшийся текстовый файл вставляем следущее:
После чего, сохраняем и закрываем.
Теперь сделаем данный файл исполняемым следующей командой: sudo chmod +x /etc/cron.daily/trim
Теперь ubuntu будет каждый день выполнять trim.
Не советую добавлять параметр discard в опции монтирования fstab.
Стоит упомянуть, что Trim в linux работает только со следующими файловыми системами: ext4 и btrfs.
4. Монтирование разделов в fstab.
При загрузке системы, у вас монтируются диски и разделы, которые указаны в файле:
В принципе, если у вас один жесткий диск ssd, то можете смело им пользоваться без тех настроек, что описаны в данном пункте.
Я в данном файле примонтировал второй жесткий диск, для того, чтобы примонтировать каталоги Музыка, Видео и Изображения, которые будут весить много места и на sdd они все не поместятся.
Ну и еще можно переместить на hdd с ssd каталог /var, так как в него пишется очень много всякого, например логи и деб пакеты перед установкой программ.
Отредактируем данный файл, выполнив следующую команду в терминале: sudo gedit /etc/fstab
Откроется текстовый файл, где перечислены монтируемые устройства:
У меня он вот такой (кликните по изображению для увеличения):
UUID=»5cfa4dbd-fca2-470a-a785-ebc56cd29387″ /diskette ext4 defaults 0 2
Разберем данную команду подробнее.
1 параметр. Это UUID устройства. Увидеть его можно либо в gparted щелкнув по разделу дважды мышкой. Либо выполнив в терминале команду: blkid
И появится весь список устройств с UUID:
Мне нужен выделенный раздел жесткого диска, в этой строчке выделяем наш UUID и прописываем в первом параметре .
2 параметр. Это точка монтирования.
Это папка, через которую будет производиться обращение к разделу. В принципе, может быть любой.
Прежде чем монтировать в какую-либо папку, не забудьте ее создать.
Например в моем случае это sudo mkdir /diskette
3 параметр. Это файловая система. Думаю объяснения не нужно, если не уверены как пишется или не знаете, то для ленивых есть параметр «auto».
4 параметр. Это параметры монтирования. В принципе достаточно defaults.
Вот какие параметры можно использовать:
exec — Разрешение на запуск исполняемых файлов. Опция включена по-умолчанию.
noexec — Запрет на запуск исполняемых файлов.
auto — Раздел будет автоматически монтироваться при загрузке системы. По-умолчанию.
noauto — Раздел не будет автоматически монтироваться при загрузке системы.
ro — Монтирование только для чтения.
rw — Монтирование для чтения и записи. По-умолчанию.
user — Разрешение простым пользователям монтировать/демонтировать этот раздел.
nouser — Запрещает простым пользователям монтировать/демонтировать этот раздел. По-умолчанию.
defaults — Использование всех параметров по-умолчанию.
discard — Включает Trim на раздела с ФС ext4 и btrfs (очень не рекомендуется)
5 параметр. Флаг бэкапа.
Если 1 — то программа dump включит этот раздел при резервном копировании.
Если 0 — то этот раздел не будет включен при резервном копировании.
6 параметр. Порядок проверки разделов.
Устанавливает порядок проверки раздела при монтировании на наличие ошибок. Если установить один и тот же порядок для двух разделов, они будут проверяться одновременно.
Если 0 — раздел не проверяется.
Таким вот образом можно примонтировать новый жесткий диск к определенному каталогу в систему.
Но если мы выставили параметр монтирования defaults, то на данном жестком диске мы не сможем выполнять операции создания и удаления.
Для этого нам нужно получить права на новый диск, делается это очень просто, выполняем в терминале команду: sudo chmod -R 777 /diskette/
естественно в команде вместо /diskette/ вы указываете свою точку монтирования.
И теперь, когда мы примонтировали жесткий диск, мы можем перегрузиться и проверить что он монтируется.
Теперь вот можно перейти к самому интересному. А именно к монтированию каталогов. Переносу Музыка, Видео, Загрузки на HDD, потому что на нем намного больше места.
Почему не перенести всю папку home?
Потому что в ней хранятся файлы конфигураций и многое другое, высокая скорость чтения которых обязательна. Иначе зачем вообще покупать ssd?
Монтируются каталоги следующим способом.
В каталоге точки монтирования, у меня это /diskette/ создаем каталоги с такими же названиями Музыка, Видео и тд
После чего прописываем следующую команду:
/diskette/Музыка /home/edward/Музыка none bind 0 0
Разберем данный случай для монтирования каталогов,
первым параметром мы указываем нашу новую папку на HDD, которая монтируется в каталог домашней папки Музыка.
Обязательные параметры none bind 0 0.
Таким образом вы можете прописать и другие каталоги по желанию.
Вот что получилось в моем случае:
В домашний каталог можно записать всего лишь 77 гигабайт, а в папку Видео можно записать почти 500 гигабайт информации.
Вот таким образом можно настроить свою систему.
Больше ничего делать не нужно с ssd. Не нужно настраивать commit, atime и прочую ересь, что несут в других блогах. Это все было актуально на старых моделях ssd, когда они только появились.
Вообще забудьте, что у вас SSD. Просто пользуйтесь им.
Источник
Грамотная разметка диска
В предверии выхода лтс 16.04 думаю полностью переустановить систему, особо никогда не парился с разметкой, но вот сейчас что-то призадумался. Имеем ссд 250гб и хдд 1тб, на ссд свап = х2 озу и остальное под /, хдд полностью под home, и все это ext4? Стоит ли заморачиватся с boot, var, tmp, var?
Для домашнего использования рекомендую попробовать /home на ssd, /tmp в оперативке.
Стоит ли заморачиватся с boot, var, tmp, var?
если памяти много — то /tmp в tmpfs; /boot можно и вынести на всякий пожарный, хотя как для десктопа смысла большого не вижу.
Делать корень такого размера смысла кмк нет особого. У меня медиа-контент весь вынесен в /mmedia на hdd, хомяк на ssd живет рядом с корнем.
Ты ничего не получишь от SSD, если хомяк будет на HDD, каждый раз (т.е. постоянно), когда запускаемые программы будут читать локальные конфиги и настройки к 99% программ с хомяка на HDD — будет тормозить.
Разве это не понятно? Весь хомяк должен быть на SSD, но всякий кинчик, Стас_Михайлов.flac и т.п. можно действительно кинуть на HDD.
Почему весь хомяк на hdd? Хомяк тоже на ssd, на hdd только твои личные данные. Монтировать hdd типо так: /home/mandala/data.
- / — 40GB
- /var — 5GB.
- /tmp — 5GB.
- /home — 200GB(Таки да,ибо на /home не только твои видео,а также кэш приложений,который активно используется)
HDD — под файлопомойку.
Я понял, home тоже на ссд оставить а в нем уже симлинки на хдд поделать для Video, Music?
Можно и симлинками. Но у меня, например, эти видео/мюзик/прочийшлак пустые всегда.
Да ладно, фильмы и пару сезонов сериала в hd норм весят.
А как еще кроме симлинков?
Я, в том смысле, что не использую эти директории. А в /home/mandala/data у меня своё дерево.
Неправильно, всякие настройки и кэш браузера должны быть на ссд.
понимаю, что некропостер, но всё же
из всего прочитанного я подытожил так:
Нет особого смысла разделять /boot и EFI System Partition, а последний должен быть в fat. Если у тебя уже есть винда, грузящаяся при помощи EFI, то он уже должен быть.
в одной статье прочитал, что всё таки лучше бут в отдельный выделить раздел, типа, быстрее найти загрузочную инфу, когда она вначале диска и в одном месте, чем в дебрях /. как то так. винда у меня планируется совершенно на другом компе в другой комнате. xfs или ntfs я планировал просто что бы по сети расшарить диск с кинцом и забрасывать туда свежак с винды. а какие ещё ФС линуков видит винда? (я имею ввиду без всяких хитрых программ которые ext4/3/2 умеют видеть, а прям напрямую) и какую всё таки ФС выбрать под / и хомяка, ext4, resierfs или btrfs?
винда у меня планируется совершенно на другом компе в другой комнате. xfs или ntfs я планировал просто что бы по сети расшарить диск с кинцом и забрасывать туда свежак с винды. а какие ещё ФС линуков видит винда? (я имею ввиду без всяких хитрых программ которые ext4/3/2 умеют видеть, а прям напрямую)
по сети (samba? nfs?) совершенно пофиг какая фс на сервере. доступ с венды ты к файлам получишь
а ntfs на линуксе не стОит. тормозит-с
вот вот. я и хотел, что бы меня поправили с ntfs. в топку ntfs. так всё таки какие ФС куда лучше?
а вот это почему. просто интересно. и почему именно по пять гигов?
Сделай все на lvm, а там хоть каждый день гоняй разделы, выделяй часть ssd под кэш без перезагрузки.
Источник
правильно разметить диски
SSD (128 Gb) + HDD (1Tb). Как правильно разметить диски, если устанавливаю только одну систему — Ubuntu? Решил сделать, особо не заморачиваясь: SSD: 112 Gb — /, 16 Gb — swap, HDD — весь под home. Всякие var, var/log, tmp, boot решил отдельно не создавать. Правильная ли будет такая разметка? При скачивания торрент, временные файлы на каком диске будут сохраняться?
Норм, только /home лучше на SSD, а статичные данные на HDD.
Фильмы и музыка — не статичные данные?
Это неправильно, весь home за исключением Music, Movies и прочей Media должен быть на ssd, ведь у тебя программы будут так же медленно загружаться, т.к. конфиги и настройки читают с hdd.
Это глупо. Выноси на HDD только большую относительно редко запрашиваемую инфу.
А диск размечай так:
Это всё, никаких больше разделов тебе не нужно.
кеширование тхумбнейлов, медленная запись при скачивании, вот это всё.
а как вынести отдельно Music, Movies ?
Ну вот их и на HDD.
Живешь в дата-центре?
/home # на тот случай, если решишь переставить систему и сохранить свой хомяк
а как вынести отдельно Music, Movies ?
Элементарно, создай в хомяке симлинки на hdd.
- Desktop
- Documents
- Downloads
- Music -> /mnt/hdd/Music
- Movies -> /mnt/hdd/Movies
- Pictures
Как вариант в стране, где домашний интернет 5 гигабит.
Так-то лучше mount —rbind
я не понял, ты разделы предлагаешь плодить? Или один раздел монтировать кучу раз в разные места?
Нет, у меня дома 300 мегабитный канал, на hdd тяжко через такой закачивать. Да даже на 100 мегабитах 3 разные раздачи в разные места тяжко для диска.
То есть, при установке системы hdd просто отфармотировать, но разделы не создавать, а потом создать симлинки?
Это не важно, mount может маунтить не только разделы.
но зачем, если есть ln -s?
Если UEFI, то мелкий ESP, swap большой, если гибернацию будешь использовать, и /. Хард монтируй куда-нибудь в /media/hdd. Вроде туда убунта диски монтирует обычно. На хард закидываешь все свои фильмак, музыку и прочий крупногабаритный хлам. Ну симлинк на
/Download сделай, чтобы сразу на хард валилось.
Голоса в голове говорят, что это работает не везде и не всегда и несёт ряд потенциальных проблем.
расскажешь? В смысле, перескажешь? Интересно же.
SSD:
UEFI — 512MB
HDD:
swap — 4GB
/home — 256GB
/DATA — 600+GB
если не ошибаюсь, то кажется 1ТБ винты показывают 940ГБ емкости, уже 2 года без них.
HDD отформатируй на один раздел ext4 и назови его STORAGE, например, создай там директории Music и Movies, на ssd в хомяке удали эти директории (если они есть) и создай симлинки на hdd:
PARTUUID диска посмотри через blkid.
что-то ты тут соловьем где-то поешь :-)))
я не понял твой гиперболизм и/или аллегорию.
ну как тяжело закачивать?
hdd не справляется с такой нагрузкой?
Справляется, но что делать остальной загруженной системе, бить в баклуши и дергаться?
да я ващет думал что у тебя диск отдельно для такого баловства.
Ну про ситуации вроде «подмонтировали на другой системе наблюдаем кучу битых файлов» можно не рассказывать. Я сейчас не вспомню подробностей и мне немного лень, но проблемы будут с любым софтом, который захочет найти файл вместо симлинка и не полагается на vfs. Либо в отношении безопасности (вроде вечных бед samba). В конечном счёте, решение типа «забиндить нужное в fstab» потенциально несёт меньше проблем и не вызывает лишней путаницы, глобальные каталоги — это не тот случай, когда симлинки нужны. А вдруг ещё захочется подключить несколько дисков/разделов в 1 точку? Симлинки не годятся для такого.
Ну про ситуации вроде «подмонтировали на другой системе наблюдаем кучу битых файлов» можно не рассказывать.
но проблемы будут с любым софтом, который захочет найти файл вместо симлинка и не полагается на vfs
этого вообще не понял. Каким софтом? SMPlayer? Ну вот сделал я симлинк на Movies. Открываю файловым менеджером, потом плеер. Может быть, торрент-клиент туда же будет ходить. В общем, я не понял.
А вдруг ещё захочется подключить несколько дисков/разделов в 1 точку?
Одновременно? Наверное, я очень дикий, но это вообще как и зачем может потребоваться?
У меня типа того задача была. К сожалению нормального решения нет, поэтому проще выкинуть 1 тб hdd и вместо него купить 1 тб ssd. Тогда спокойно 128 гб sdd отдашь под корень и своп, а 1 тб ssd под хомяковую папку (не мамку). И всё хорошо будет.
расскажешь? В смысле, перескажешь? Интересно же.
Вот snap пакет не может ходить за пределы хомяка по ссылкам, а с bind такой фокус проходит. У ТС-а Ubuntu, ему это актуально.
да, очень неприятно, когда хранишь часть файлов на внешнем носителе.
потом расшарил в самбе (мало ли, хотел с таблетки в туалете смотреть) и тебя поимели во все дыры. Достаточно доступно? Кто поручится, что того же не случится с торрент-клиентом? И в целом подобным поведением отличается всевозможный проприетарный софт.
видимо у тебя очень скромная коллекция.
видимо у тебя очень скромная коллекция.
да, наверное. Не очень понятен механизм
А вдруг ещё захочется подключить несколько дисков/разделов в 1 точку?
как это выглядит? Как это работает? Это аналог библиотек венды или как?
ЗЫ. КАк же блин задрал хром на вводе тупить. Это трындец какой-то.
Создаётся дополнительный слой на уровне файловой системы, потом с каталогом можно работать совершенно прозрачно. Примеры: aufs, unionfs, overlayfs. Или даже в юзерспейсе — unionfs-fuse, говорят, не слишком тормозит. Я не знаю, как устроены библиотеки венды.
Никогда не поздно одно на другое поменять.
На LVM ставь, если не понравится как разметил — передвинешь раздела.
а как вынести отдельно Music, Movies ?
ln -s /media/hdd/Music
Почему никто не предложил swap сделать в файле?
лучшая фс для ssd btrFs не поддерживает такое
Я правильно понимаю, что речь идёт об монтировании друг в друга РАЗНЫХ файловых систем? Что насчет использования ln -s в рамках одной файловой системы?
не очень понятно как работает монтирование нескольких мест в одну точку. На чтение будут доступны все примонтированные места? Что насчет записи в такую точку? В венде есть «библиотеки», которые суть сущность на уровне проводника. Работает в рамках проводника. Создаёшь библиотеку и добавляешь туда расположения, которые суть пути (с ограничением «можно добавлять только индексированные вендой же пути). Задаёшь „главную“ — туда будет писаться по-умолчанию. На чтение же библиотека прозрачна. Да, там прямо сортировка сквозная. Сделано шикарно (тока самбу туда прикрутить проблемно потому что индексация, но возможно). Было время, у меня было окло 6 нжмд в одной системе — всё кино было в одном месте в проводнике со сквозной сортировкой. Да, usb внешие диски тоже можно туда. В общем, это лучше показать. Мегаудобно.
Систему устанавливай только на SSD, все данные на HDD. Вдруг захочешь систему другую, а ведь вполне вероятно, да и так если захочешь, то легче будет переезжать. Ну еще добавлю, SSD это лишь трата денег, для скорости есть RAM и tmpfs.
Источник