Как правило, виртуальные машины могут и синхронизируются вовремя гипервизорами виртуализации (в зависимости от конфигурации и технологии виртуализации, а также наличия установленных инструментов)
Время вашей виртуальной машины синхронизируется гипервизором Virtualbox.
Таким образом, чтобы время корректировалось в соответствии со временем вашего хоста виртуализации, вы должны отключить эту синхронизацию.
Вы можете временно отключить его в командной строке, как в:
VBoxManage setextradata "VMname" "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 1
Где VMName — это имя вашей виртуальной машины, известное VirtualBox.
Это остановит синхронизацию времени, пока вы не перезапустите виртуальную машину.
Чтобы сделать этот параметр постоянным, вы должны остановить эту виртуальную машину, отредактировать yourVMname.vbox и добавить эту запись в раздел:
Jessie также является дистрибутивом, который по умолчанию поставляется с systemd, а для тех, кто использует systemd
, systemd-timesyncd
включен по умолчанию.
systemd-timesyncd
также поддерживает текущее время. Вам также необходимо остановить/отключить его.
Вы можете временно остановить его с помощью:
sudo service systemd-timesyncd stop
Совсем недавно, разработчики Debian гостевых утилит VirtualBox создали конфликт службы гостевых утилит с systemd-timesyncd.service
, так что systemd просто не будет запускать последнюю, если запущены гостевые утилиты. Разработчики Debian хотели бы того же для сервисов chrony и ntpd.
С помощьюsmartctl
выборочных самопроверок -тестов вы можете использовать ключевое слово max
для определения максимального LBA для использования в выборочных тестах:
# smartctl -t select,0-max /dev/sda
smartctl 7.1 2019-12-30 r5022 [x86_64-linux-5.9.11-arch2-1] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF OFFLINE IMMEDIATE AND SELF-TEST SECTION ===
Sending command: "Execute SMART Selective self-test routine immediately in off-line mode".
SPAN STARTING_LBA ENDING_LBA
0 0 537234767
Drive command "Execute SMART Selective self-test routine immediately in off-line mode" successful.
Testing has begun.
Таким образом, в данном случае это 537234767 (включительно, то есть всего 537234768 ).
Это идентично количеству секторов, напечатанному parted
и др. но просто чтобы избежать каких-либо сомнений, хорошо использовать smartctl
для получения значения, чтобы не было возможности разногласий относительно размеров логических/физических секторов.
Также происходит запуск самопроверки -, которую можно прервать с помощью smartctl -X
.
sudo tune2fs -l /dev/sdX1
выводит много информации, в том числеblock count
:
benraid@OMV:/srv$ sudo tune2fs -l /dev/sdk1
tune2fs 1.44.5 (15-Dec-2018)
Filesystem volume name: Elements
Last mounted on: <not available>
Filesystem UUID: e58521dc-7ac6-4096-8339-42830ceee05d
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum
Filesystem flags: signed_directory_hash
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 427261952
Block count: 3418087163
Reserved block count: 0
Free blocks: 3390863340
Free inodes: 427261941
First block: 0
Block size: 4096
Fragment size: 4096
Group descriptor size: 64
Reserved GDT blocks: 418
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 4096
Inode blocks per group: 256
Flex block group size: 16
Filesystem created: Wed Dec 2 20:57:48 2020
Last mount time: n/a
Last write time: Wed Dec 2 21:09:13 2020
Mount count: 0
Maximum mount count: -1
Last checked: Wed Dec 2 20:57:48 2020
Check interval: 0 (<none>)
Lifetime writes: 103 GB
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Required extra isize: 32
Desired extra isize: 32
Journal inode: 8
Default directory hash: half_md4
Directory Hash Seed: 9bccaff2-62b7-45c9-876b-b011f5e8c6b9
Journal backup: inode blocks
Checksum type: crc32c
Checksum: 0x526fb02e
Также интересен /proc/partitions
, который, кажется, печатает количество LBA, умноженное на 4. Возможно, есть связь с размером блока (4096):
benraid@OMV:/srv$ cat /proc/partitions
major minor #blocks name
8 0 2930266584 sda
8 1 2930265543 sda1
8 48 2930266584 sdd
8 49 2930265543 sdd1
8 80 2930266584 sdf
8 81 2930265543 sdf1
8 32 2930266584 sdc
8 33 2930265543 sdc1
8 64 39082680 sde
8 65 35221504 sde1
8 66 1 sde2
8 69 3858432 sde5
8 16 2930266584 sdb
8 17 2930265543 sdb1
8 96 2930266584 sdg
8 97 2930265543 sdg1
8 112 11718885376 sdh
8 113 11718884335 sdh1
8 128 9766436864 sdi
8 129 9766435823 sdi1
8 144 11718885376 sdj
8 145 11718884335 sdj1
8 160 13672349696 sdk
8 161 13672348655 sdk1
Как отметил ilkkachu в своем комментарии, счетчик LBA раздела не охватывает правильное пространство всего жесткого диска. Но если вам нужно просто указать размер, чтобы использовать его с smartctl -t select,0-$size
, это прекрасно. smartctl
в любом случае будет начинаться с 0 и заканчиваться в конце диска.
Предполагая, что вы работаете в Linux (, так как вы использовали tune2fs
), размеры дисков и разделов, видимые для ОС, можно увидеть в /proc/partitions
. Например.
# head -3 /proc/partitions
major minor #blocks name
8 0 976762584 sda
Поле #blocks
представляет собой количество 1024 -байтовых блоков, поэтому количество 512 -байтовых блоков в два раза больше.
# awk '$4 == "sda" { print $3 * 2; } ' < /proc/partitions
1953525168
fdisk
и hdparm -i
также могут показывать количество секторов:
# fdisk -lu /dev/sda | head -1
Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
# hdparm -i /dev/sda |grep LBAsects
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=1953525168
Еще одним способом может быть поиск конца блочного устройства и запрос смещения, например, с помощью. Перл:
# perl -le '$a = sysseek(STDIN, 0, 2); print $a / 512' < /dev/sda
1953525168
Или, поскольку мы все равно собираемся проводить SMART-тесты, спроситеsmartctl
:
# smartctl -i /dev/sda |grep '^User Capacity:'
User Capacity: 1,000,204,886,016 bytes [1.00 TB]
# smartctl -i /dev/sda |awk '/^User Capacity: / { gsub(",", "", $3); print $3 / 512; }'
1953525168