RTFM.WIKI

Ordnung muß sein. Ordnung über alles (18+)

Инструменты пользователя

Инструменты сайта


Stylesheet conf/userstyle.css not found, please contact the developer of "dokuwiki_2024" template.
linux:terminal:terminal_tnt_fs

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
linux:terminal:terminal_tnt_fs [2022/02/10 16:35] dxlinux:terminal:terminal_tnt_fs [2022/02/15 16:29] (текущий) dx
Строка 1: Строка 1:
 +====== Трюки в консоли: ФС ======
  
 +==== OMV без swap ====
 +
 +FIXME не совсем подходит к этому разделу. потом перенесу.
 +
 +Не прижился у меня OpenMediaVault. Жду 6 версию может будет поинтереснее.
 +
 +В этом чудном NAS-дистре [[https://github.com/openmediavault/openmediavault/issues/638|нельзя не использовать swap]]. Немчура разрабская говорит пшёлнафиг, не нравится ставь Debian и на него накатывай OMV.
 +  
 +That's by design. If you want to have the freedom to do that, then you should use Debian netinst ISO and manually install OMV according the [[https://forum.openmediavault.org/index.php?thread/25062-install-omv5-on-debian-10-buster/|guideline]] in the forum.
 +
 +1
 +
 +<code bash>
 +cat <<EOF >> /etc/apt/sources.list.d/openmediavault.list
 +deb https://packages.openmediavault.org/public usul main
 +# deb https://downloads.sourceforge.net/project/openmediavault/packages usul main
 +## Uncomment the following line to add software from the proposed repository.
 +# deb https://packages.openmediavault.org/public usul-proposed main
 +# deb https://downloads.sourceforge.net/project/openmediavault/packages usul-proposed main
 +## This software is not part of OpenMediaVault, but is offered by third-party
 +## developers as a service to OpenMediaVault users.
 +# deb https://packages.openmediavault.org/public usul partner
 +# deb https://downloads.sourceforge.net/project/openmediavault/packages usul partner
 +EOF
 +</code>
 +
 +2
 +
 +<code bash>
 +export LANG=C.UTF-8
 +export DEBIAN_FRONTEND=noninteractive
 +export APT_LISTCHANGES_FRONTEND=none
 +wget -O "/etc/apt/trusted.gpg.d/openmediavault-archive-keyring.asc" https://packages.openmediavault.org/public/archive.key
 +apt-key add "/etc/apt/trusted.gpg.d/openmediavault-archive-keyring.asc"
 +apt-get update
 +apt-get --yes --auto-remove --show-upgraded \
 +    --allow-downgrades --allow-change-held-packages \
 +    --no-install-recommends \
 +    --option DPkg::Options::="--force-confdef" \
 +    --option DPkg::Options::="--force-confold" \
 +    install openmediavault-keyring openmediavault
 +
 +# Populate the database.
 +omv-confdbadm populate
 +
 +# Display the login information.
 +cat /etc/issue
 +</code>
 +
 +==== Проблема 2038 года ====
 +
 +xfs filesystem being mounted at /mnt/disk1337 supports timestamps until 2038
 +
 +  * wikipedia - [[https://ru.wikipedia.org/wiki/Проблема_2038_года|Проблема 2038 года]]
 +  * [[https://linuxreviews.org/XFS_Patches_For_Linux_5.10_Delays_The_Year_2038_Problem_To_2486|XFS Patches For Linux 5.10 Delays The Year 2038 Problem To 2486]]
 +  * [[https://www.phoronix.com/scan.php?page=news_item&px=XFS-Linux-5.10|XFS File-System With Linux 5.10 Punts Year 2038 Problem To The Year 2486]]
 +
 +Создание ФС
 +
 +<code bash>mkfs.xfs -m bigtime=1 device</code>
 +
 +Конвертирование ФС
 +
 +<code bash>xfs_admin -O bigtime=1 device</code>
 +
 +==== Дефрагментация XFS ====
 +
 +Для работы с XFS нужен пакет xfsprogs (опционально xfsdump)
 +
 +Для просмотра степени фрагментации используется утилита **xfs_db**
 +
 +<code bash>
 +xfs_db -r /dev/sdc1
 +xfs_db> frag
 +actual 6246, ideal 4113, fragmentation factor 34.15%
 +Note, this number is largely meaningless.
 +Files on this filesystem average 1.52 extents per file
 +</code>
 +
 +Здесь флаг **-r** - **read-only**.
 +
 +Для дефрагментации используется утилита **xfs_fsr**
 +
 +Насколько я понял дефраментацию можно сделать для точки монтирования, а не раздела/устройства.
 +
 +<code bash>
 +# xfs_fsr -v /mnt/data1
 +/mnt/data1 start inode=0
 +ino=156
 +extents before:4 after:1 DONE ino=156
 +ino=135
 +extents before:3 after:1 DONE ino=135
 +ino=147
 +</code>
 +
 +==== Как посмотреть дату последней проверки файловой системы ====
 +
 +<code bash># tune2fs -l /dev/sda1 | grep "Last checked"</code>
 +
 +==== Удобочитаемый вывод команды mount ====
 +
 +<code bash># mount | column -t</code>
 +
 +==== Принудительно запустить fsck при следующей загрузке системы ====
 +
 +{{:linux:fsck.jpg?nolink|fsck}}
 +
 +via http://www.ducea.com/2008/10/24/linux-tips-force-fsck-run-during-the-next-reboot/
 +
 +<code>touch /forcefsck</code>
 +
 +==== TRIM на SSD ====
 +
 +Проверить, что TRIM доступен
 +
 +<code bash>
 +# hdparm -I /dev/sdf | grep "TRIM"
 +      Data Set Management TRIM supported (limit 1 block)
 +      Deterministic read data after TRIM
 +</code>
 +
 +Поначалу использовал пример sh+cron с первой страницы гугла (''/etc/cron.weekly/fstrim.cron'')
 +
 +Баш
 +
 +<code bash>
 +#!/bin/sh
 +LOG=/var/log/trim.log
 +echo "*** $(date -R) ***" >> $LOG
 +fstrim -v / >> $LOG
 +fstrim -v /home >> $LOG
 +</code>
 +
 +Крон
 +
 +<code bash>chmod +x /etc/cron.weekly/fstrim.cron</code>
 +
 +Но надо идти в ногу со временем и использовать systemd
 +
 +**fstrim.service**
 +
 +<code bash>
 +# cat /usr/lib/systemd/system/fstrim.service
 +
 +[Unit]
 +Description=Discard unused blocks
 +
 +[Service]
 +Type=oneshot
 +ExecStart=/usr/sbin/fstrim -a
 +</code>
 +
 +<code>
 +# cat /usr/lib/systemd/system/fstrim.timer
 +
 +[Unit]
 +Description=Discard unused blocks once a week
 +Documentation=man:fstrim
 +
 +[Timer]
 +OnCalendar=weekly
 +AccuracySec=1h
 +Persistent=true
 +
 +[Install]
 +WantedBy=multi-user.target
 +</code>
 +
 +Достаточно сделать
 +
 +<code bash># systemctl enable fstrim.timer</code>
 +
 +Проверим, что fstrim работает
 +
 +<code bash>
 +# systemctl status fstrim.timer
 +● fstrim.timer - Discard unused blocks once a week
 +   Loaded: loaded (/usr/lib/systemd/system/fstrim.timer; enabled; vendor preset: disabled)
 +   Active: active (waiting) since Sun 2020-04-12 04:58:42 MSK; 3 days ago
 +     Docs: man:fstrim
 +
 +Apr 12 04:58:42 n36l systemd[1]: Started Discard unused blocks once a week.
 +</code>
 +
 +Успешный запуск
 +
 +<code bash>
 +# journalctl -u fstrim.service --since "2 week ago"
 +-- Logs begin at Mon 2020-03-02 10:18:50 MSK, end at Wed 2020-04-15 17:30:01 MSK. --
 +Apr 13 00:00:01 n36l systemd[1]: Starting Discard unused blocks...
 +Apr 13 00:00:01 n36l systemd[1]: Started Discard unused blocks.
 +</code>