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] – dx | linux:terminal:terminal_tnt_fs [2022/02/15 16:29] (текущий) – dx | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
+ | ====== Трюки в консоли: | ||
+ | ==== OMV без swap ==== | ||
+ | |||
+ | FIXME не совсем подходит к этому разделу. потом перенесу. | ||
+ | |||
+ | Не прижился у меня OpenMediaVault. Жду 6 версию может будет поинтереснее. | ||
+ | |||
+ | В этом чудном NAS-дистре [[https:// | ||
+ | | ||
+ | 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:// | ||
+ | |||
+ | 1 | ||
+ | |||
+ | <code bash> | ||
+ | cat <<EOF >> / | ||
+ | deb https:// | ||
+ | # deb https:// | ||
+ | ## Uncomment the following line to add software from the proposed repository. | ||
+ | # deb https:// | ||
+ | # deb https:// | ||
+ | ## This software is not part of OpenMediaVault, | ||
+ | ## developers as a service to OpenMediaVault users. | ||
+ | # deb https:// | ||
+ | # deb https:// | ||
+ | EOF | ||
+ | </ | ||
+ | |||
+ | 2 | ||
+ | |||
+ | <code bash> | ||
+ | export LANG=C.UTF-8 | ||
+ | export DEBIAN_FRONTEND=noninteractive | ||
+ | export APT_LISTCHANGES_FRONTEND=none | ||
+ | wget -O "/ | ||
+ | apt-key add "/ | ||
+ | apt-get update | ||
+ | apt-get --yes --auto-remove --show-upgraded \ | ||
+ | --allow-downgrades --allow-change-held-packages \ | ||
+ | --no-install-recommends \ | ||
+ | --option DPkg:: | ||
+ | --option DPkg:: | ||
+ | install openmediavault-keyring openmediavault | ||
+ | |||
+ | # Populate the database. | ||
+ | omv-confdbadm populate | ||
+ | |||
+ | # Display the login information. | ||
+ | cat /etc/issue | ||
+ | </ | ||
+ | |||
+ | ==== Проблема 2038 года ==== | ||
+ | |||
+ | xfs filesystem being mounted at / | ||
+ | |||
+ | * wikipedia - [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | Создание ФС | ||
+ | |||
+ | <code bash> | ||
+ | |||
+ | Конвертирование ФС | ||
+ | |||
+ | <code bash> | ||
+ | |||
+ | ==== Дефрагментация 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 | ||
+ | </ | ||
+ | |||
+ | Здесь флаг **-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 bash># tune2fs -l /dev/sda1 | grep "Last checked"</ | ||
+ | |||
+ | ==== Удобочитаемый вывод команды mount ==== | ||
+ | |||
+ | <code bash># mount | column -t</ | ||
+ | |||
+ | ==== Принудительно запустить fsck при следующей загрузке системы ==== | ||
+ | |||
+ | {{: | ||
+ | |||
+ | via http:// | ||
+ | |||
+ | < | ||
+ | |||
+ | ==== TRIM на SSD ==== | ||
+ | |||
+ | Проверить, | ||
+ | |||
+ | <code bash> | ||
+ | # hdparm -I /dev/sdf | grep " | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | Поначалу использовал пример sh+cron с первой страницы гугла (''/ | ||
+ | |||
+ | Баш | ||
+ | |||
+ | <code bash> | ||
+ | #!/bin/sh | ||
+ | LOG=/ | ||
+ | echo "*** $(date -R) ***" >> $LOG | ||
+ | fstrim -v / >> $LOG | ||
+ | fstrim -v /home >> $LOG | ||
+ | </ | ||
+ | |||
+ | Крон | ||
+ | |||
+ | <code bash> | ||
+ | |||
+ | Но надо идти в ногу со временем и использовать systemd | ||
+ | |||
+ | **fstrim.service** | ||
+ | |||
+ | <code bash> | ||
+ | # cat / | ||
+ | |||
+ | [Unit] | ||
+ | Description=Discard unused blocks | ||
+ | |||
+ | [Service] | ||
+ | Type=oneshot | ||
+ | ExecStart=/ | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | # cat / | ||
+ | |||
+ | [Unit] | ||
+ | Description=Discard unused blocks once a week | ||
+ | Documentation=man: | ||
+ | |||
+ | [Timer] | ||
+ | OnCalendar=weekly | ||
+ | AccuracySec=1h | ||
+ | Persistent=true | ||
+ | |||
+ | [Install] | ||
+ | WantedBy=multi-user.target | ||
+ | </ | ||
+ | |||
+ | Достаточно сделать | ||
+ | |||
+ | <code bash># systemctl enable fstrim.timer</ | ||
+ | |||
+ | Проверим, | ||
+ | |||
+ | <code bash> | ||
+ | # systemctl status fstrim.timer | ||
+ | ● fstrim.timer - Discard unused blocks once a week | ||
+ | | ||
+ | | ||
+ | Docs: man:fstrim | ||
+ | |||
+ | Apr 12 04:58:42 n36l systemd[1]: Started Discard unused blocks once a week. | ||
+ | </ | ||
+ | |||
+ | Успешный запуск | ||
+ | |||
+ | <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. | ||
+ | </ |