Имеется MS Virtual Servers 2005 R2 SP1, а так же Linux Fedora 9 которая живет на нем в качестве гостевой ОС.Проблема с синхронизацией времени в Fedora.
То есть время или отстает или опережает сильно реальное.
Проблему частично решил синхронизацией каждую минуту с ru.pool.ntp.org через ntpdate. Но потом всплыла следующая проблема:
Если из-за сбоя в сети синхронизация не происходит даже минут 5 то часы сильно расходятся и когда сеть ( интернет а следовательно и сервер ru.pool.ntp.orgm ) становятся доступны, то сервис network виснет показывая рабочее соединение.
То есть работоспособность сети можно восстановить только вручную перезапустив /etc/init.d/network restart :(Сама Microsoft рекомендует в опция загрузки ядра исп один из 2-ух параметров синхронизации времени работающих на уровне ядра Linux.
такие как clock=pit ( при нем время сильно отстает) и clock=pmmtr ( при нем сильно уходит вперед)Так же Microsoft рекомендует установить собственные пакеты для оптимизации синхронизации времени
-rw-r--r-- 1 root root 855991 2007-08-10 17:17 vmadd-full-2.0-1.i386.rpm
-rw-r--r-- 1 root root 856015 2007-08-10 17:17 vmadd-full-RHEL-2.0-1.i386.rpm
-rw-r--r-- 1 root root 191343 2007-08-10 17:17 vmadd-heartbeat-2.0-1.i386.rpm
-rw-r--r-- 1 root root 212044 2007-08-10 17:17 vmadd-kernel-module-2.0-1.i386.rpm
-rw-r--r-- 1 root root 212056 2007-08-10 17:17 vmadd-kernel-module-RHEL-2.0-1.i386.rpm
-rw-r--r-- 1 root root 28433 2007-08-10 17:17 vmadd-scsi-2.0-1.i386.rpm
-rw-r--r-- 1 root root 191572 2007-08-10 17:17 vmadd-shutdown-2.0-1.i386.rpm
-rw-r--r-- 1 root root 191409 2007-08-10 17:17 vmadd-timesync-2.0-1.i386.rpm
-rw-r--r-- 1 root root 55066 2007-08-10 17:17 vmadd-x11-2.0-1.i386.rpm
-rw-r--r-- 1 root root 212044 2007-08-10 17:17 vmadd-kernel-module-2.0-1.i386.rpm
-rw-r--r-- 1 root root 191409 2007-08-10 17:17 vmadd-timesync-2.0-1.i386.rpmПосле успешной установки запустить командой:
/etc/init.d/vmadd-timesync start
не удается[root@localhost iso]# /etc/init.d/vmadd-timesync start
Starting timesync VM additions module not loaded!Если ставить полный как я понял пакет (основной а не только синхронизацию времени), то ошибки:
*** VM additions kernel module ***
make: Entering directory `/lib/modules/vmadd/module'
make -C /lib/modules/2.6.27.25-78.2.56.fc9.i686/build modules SUBDIRS=/lib/modules/vmadd/module M=/lib/modules/vmadd/module
make[1]: Entering directory `/usr/src/kernels/2.6.27.25-78.2.56.fc9.i686'
CC [M] /lib/modules/vmadd/module/vpc-mod.o
/lib/modules/vmadd/module/vpc-mod.c:120: error: variable ‘vpc_fops’ has initializer but incomplete type
/lib/modules/vmadd/module/vpc-mod.c:122: error: unknown field ‘owner’ specified in initializer
/lib/modules/vmadd/module/vpc-mod.c:122: warning: excess elements in struct initializer
/lib/modules/vmadd/module/vpc-mod.c:122: warning: (near initialization for ‘vpc_fops’)
/lib/modules/vmadd/module/vpc-mod.c:123: error: unknown field ‘open’ specified in initializer
/lib/modules/vmadd/module/vpc-mod.c:123: warning: excess elements in struct initializer
/lib/modules/vmadd/module/vpc-mod.c:123: warning: (near initialization for ‘vpc_fops’)
/lib/modules/vmadd/module/vpc-mod.c:124: error: unknown field ‘release’ specified in initializer
/lib/modules/vmadd/module/vpc-mod.c:124: warning: excess elements in struct initializer
/lib/modules/vmadd/module/vpc-mod.c:124: warning: (near initialization for ‘vpc_fops’)
/lib/modules/vmadd/module/vpc-mod.c:125: error: unknown field ‘ioctl’ specified in initializer
/lib/modules/vmadd/module/vpc-mod.c:125: warning: excess elements in struct initializer
/lib/modules/vmadd/module/vpc-mod.c:125: warning: (near initialization for ‘vpc_fops’)
/lib/modules/vmadd/module/vpc-mod.c:126: error: unknown field ‘llseek’ specified in initializer
/lib/modules/vmadd/module/vpc-mod.c:126: error: ‘no_llseek’ undeclared here (not in a function)
/lib/modules/vmadd/module/vpc-mod.c:126: warning: excess elements in struct initializer
/lib/modules/vmadd/module/vpc-mod.c:126: warning: (near initialization for ‘vpc_fops’)
/lib/modules/vmadd/module/vpc-mod.c: In function ‘vpc_release’:
/lib/modules/vmadd/module/vpc-mod.c:133: error: dereferencing pointer to incomplete type
/lib/modules/vmadd/module/vpc-mod.c:141: error: dereferencing pointer to incomplete type
/lib/modules/vmadd/module/vpc-mod.c: In function ‘vpc_do_open’:
/lib/modules/vmadd/module/vpc-mod.c:149: error: implicit declaration of function ‘iminor’
/lib/modules/vmadd/module/vpc-mod.c:170: error: dereferencing pointer to incomplete type
/lib/modules/vmadd/module/vpc-mod.c: In function ‘vpc_open’:
/lib/modules/vmadd/module/vpc-mod.c:187: error: dereferencing pointer to incomplete type
/lib/modules/vmadd/module/vpc-mod.c:188: error: dereferencing pointer to incomplete type
/lib/modules/vmadd/module/vpc-mod.c:188: error: implicit declaration of function ‘fops_get’
/lib/modules/vmadd/module/vpc-mod.c:193: error: implicit declaration of function ‘fops_put’
/lib/modules/vmadd/module/vpc-mod.c:193: error: dereferencing pointer to incomplete type
/lib/modules/vmadd/module/vpc-mod.c:194: error: dereferencing pointer to incomplete type
/lib/modules/vmadd/module/vpc-mod.c: In function ‘vpc_ioctl_dll’:
/lib/modules/vmadd/module/vpc-mod.c:315: error: implicit declaration of function ‘_IOC_NR’
/lib/modules/vmadd/module/vpc-mod.c: In function ‘vpc_ioctl’:
/lib/modules/vmadd/module/vpc-mod.c:482: error: dereferencing pointer to incomplete type
/lib/modules/vmadd/module/vpc-mod.c:492: error: implicit declaration of function ‘_IO’
/lib/modules/vmadd/module/vpc-mod.c:492: error: case label does not reduce to an integer constant
/lib/modules/vmadd/module/vpc-mod.c:528: error: case label does not reduce to an integer constant
/lib/modules/vmadd/module/vpc-mod.c:587: error: case label does not reduce to an integer constant
/lib/modules/vmadd/module/vpc-mod.c:595: error: case label does not reduce to an integer constant
/lib/modules/vmadd/module/vpc-mod.c: In function ‘init’:
/lib/modules/vmadd/module/vpc-mod.c:760: error: implicit declaration of function ‘register_chrdev’
/lib/modules/vmadd/module/vpc-mod.c:786: warning: passing argument 2 of ‘request_irq’ from incompatible pointer type
/lib/modules/vmadd/module/vpc-mod.c:797: error: implicit declaration of function ‘unregister_chrdev’
make[2]: *** [/lib/modules/vmadd/module/vpc-mod.o] Error 1
make[1]: *** [_module_/lib/modules/vmadd/module] Error 2
make[1]: Leaving directory `/usr/src/kernels/2.6.27.25-78.2.56.fc9.i686'
make: *** [vmadd-build-module] Error 2
make: Leaving directory `/lib/modules/vmadd/module'
Could not build kernel moduleInstalling...
make: Entering directory `/lib/modules/vmadd/module'
make -C /lib/modules/2.6.27.25-78.2.56.fc9.i686/build modules SUBDIRS=/lib/modules/vmadd/module M=/lib/modules/vmadd/module
make[1]: Entering directory `/usr/src/kernels/2.6.27.25-78.2.56.fc9.i686'
CC [M] /lib/modules/vmadd/module/vpc-mod.o
/lib/modules/vmadd/module/vpc-mod.c:120: error: variable ‘vpc_fops’ has initializer but incomplete type
/lib/modules/vmadd/module/vpc-mod.c:122: error: unknown field ‘owner’ specified in initializer
/lib/modules/vmadd/module/vpc-mod.c:122: warning: excess elements in struct initializer
/lib/modules/vmadd/module/vpc-mod.c:122: warning: (near initialization for ‘vpc_fops’)
/lib/modules/vmadd/module/vpc-mod.c:123: error: unknown field ‘open’ specified in initializer
/lib/modules/vmadd/module/vpc-mod.c:123: warning: excess elements in struct initializer
/lib/modules/vmadd/module/vpc-mod.c:123: warning: (near initialization for ‘vpc_fops’)
/lib/modules/vmadd/module/vpc-mod.c:124: error: unknown field ‘release’ specified in initializer
/lib/modules/vmadd/module/vpc-mod.c:124: warning: excess elements in struct initializer
/lib/modules/vmadd/module/vpc-mod.c:124: warning: (near initialization for ‘vpc_fops’)
/lib/modules/vmadd/module/vpc-mod.c:125: error: unknown field ‘ioctl’ specified in initializer
/lib/modules/vmadd/module/vpc-mod.c:125: warning: excess elements in struct initializer
/lib/modules/vmadd/module/vpc-mod.c:125: warning: (near initialization for ‘vpc_fops’)
/lib/modules/vmadd/module/vpc-mod.c:126: error: unknown field ‘llseek’ specified in initializer
/lib/modules/vmadd/module/vpc-mod.c:126: error: ‘no_llseek’ undeclared here (not in a function)
/lib/modules/vmadd/module/vpc-mod.c:126: warning: excess elements in struct initializer
/lib/modules/vmadd/module/vpc-mod.c:126: warning: (near initialization for ‘vpc_fops’)
/lib/modules/vmadd/module/vpc-mod.c: In function ‘vpc_release’:
/lib/modules/vmadd/module/vpc-mod.c:133: error: dereferencing pointer to incomplete type
/lib/modules/vmadd/module/vpc-mod.c:141: error: dereferencing pointer to incomplete type
/lib/modules/vmadd/module/vpc-mod.c: In function ‘vpc_do_open’:
/lib/modules/vmadd/module/vpc-mod.c:149: error: implicit declaration of function ‘iminor’
/lib/modules/vmadd/module/vpc-mod.c:170: error: dereferencing pointer to incomplete type
/lib/modules/vmadd/module/vpc-mod.c: In function ‘vpc_open’:
/lib/modules/vmadd/module/vpc-mod.c:187: error: dereferencing pointer to incomplete type
/lib/modules/vmadd/module/vpc-mod.c:188: error: dereferencing pointer to incomplete type
/lib/modules/vmadd/module/vpc-mod.c:188: error: implicit declaration of function ‘fops_get’
/lib/modules/vmadd/module/vpc-mod.c:193: error: implicit declaration of function ‘fops_put’
/lib/modules/vmadd/module/vpc-mod.c:193: error: dereferencing pointer to incomplete type
/lib/modules/vmadd/module/vpc-mod.c:194: error: dereferencing pointer to incomplete type
/lib/modules/vmadd/module/vpc-mod.c: In function ‘vpc_ioctl_dll’:
/lib/modules/vmadd/module/vpc-mod.c:315: error: implicit declaration of function ‘_IOC_NR’
/lib/modules/vmadd/module/vpc-mod.c: In function ‘vpc_ioctl’:
/lib/modules/vmadd/module/vpc-mod.c:482: error: dereferencing pointer to incomplete type
/lib/modules/vmadd/module/vpc-mod.c:492: error: implicit declaration of function ‘_IO’
/lib/modules/vmadd/module/vpc-mod.c:492: error: case label does not reduce to an integer constant
/lib/modules/vmadd/module/vpc-mod.c:528: error: case label does not reduce to an integer constant
/lib/modules/vmadd/module/vpc-mod.c:587: error: case label does not reduce to an integer constant
/lib/modules/vmadd/module/vpc-mod.c:595: error: case label does not reduce to an integer constant
/lib/modules/vmadd/module/vpc-mod.c: In function ‘init’:
/lib/modules/vmadd/module/vpc-mod.c:760: error: implicit declaration of function ‘register_chrdev’
/lib/modules/vmadd/module/vpc-mod.c:786: warning: passing argument 2 of ‘request_irq’ from incompatible pointer type
/lib/modules/vmadd/module/vpc-mod.c:797: error: implicit declaration of function ‘unregister_chrdev’
make[2]: *** [/lib/modules/vmadd/module/vpc-mod.o] Error 1
make[1]: *** [_module_/lib/modules/vmadd/module] Error 2
make[1]: Leaving directory `/usr/src/kernels/2.6.27.25-78.2.56.fc9.i686'
make: *** [vmadd-build-module] Error 2
make: Leaving directory `/lib/modules/vmadd/module'
Could not install kernel moduleВ чем может быть проблема? Исходники ядра стоят (kernel-devel текущего ядра)
-------------------------------------------------
Господа есть какие идеи как синхронизацию времени стабилизировать?
Содержание
ну во-первых, неплохо бы обновить Федору до последней версии. Это всегда рекомендуемый первый шаг решения любой проблемы с Федорой.
Потом, а если без МСовских пакетов? Вы пытались настроить ntp? Какой конфиг получился? Что в логах?
>ну во-первых, неплохо бы обновить Федору до последней версии. Это всегда рекомендуемый
>первый шаг решения любой проблемы с Федорой.
>Потом, а если без МСовских пакетов? Вы пытались настроить ntp? Какой конфиг
>получился? Что в логах?Обновлять будет сложно ибо много что собрано вручную. Обновляться будет но не сейчас.
Без MS пакетов сервера эти живут уже с год синхронизируя время как я писал командой
ntpdate ru.pool.ntp.org каждую минуту.Время расходиться из-за специфичности работы синхронизации времени между реальной машиной и виртуальной. На сайте MS об этом много теории.
Подобные проблемы на всех Linux. Например один из серверов на SLES 10 проблема та же. Живет на постоянной внешней синхронизации.
про виртуальные машины от МС ничего не знаю. Но в Линуксе, на OpenVZ, есть возможность выключить синхронизацию времени между главной машиной и виртуальной. В противном случае время на виртуальной всегда будет равно времени на главной, и никакие команды не позволяют это отключить. Может, и у МС так можно?
>про виртуальные машины от МС ничего не знаю. Но в Линуксе, на
>OpenVZ, есть возможность выключить синхронизацию времени между главной машиной и виртуальной.
>В противном случае время на виртуальной всегда будет равно времени на
>главной, и никакие команды не позволяют это отключить. Может, и у
>МС так можно?Чушь не нужно писать :( OpenVZ вообще не виртуализация, а контейнеры, Virtual Enviroments на одном ядре. Часики в ядре всего одни на всех. В контейнерах могут быть только разные таймзоны
Топикстартеру: у MS до сих пор глобальное отставание в виртуализации: тот же Hyper-V только-только научился live migration, и то, только в рамках одного стораджа, ни HA ни чего более продвинутого там до сих пор нет.
Я бы еще поняла использование Hyper-V, если инфраструктура завязана на технологии MS, но зачем(!) использовать нечто странное, этот Ваш MS Virtual Server, если на рынке есть гораздо более адекватные и промышленно надежные решения, как бесплатные, так и с саппортом, сертификатами, и пр?
>Чушь не нужно писать :(хорошо, не буду. Вообще не буду писать. Пока не было никаких комментариев, я решил предложить хоть какую-то идею, но с вашим появлением я ухожу.
>OpenVZ вообще не виртуализация, а контейнеры, Virtual
>Enviroments на одном ядре. Часики в ядре всего одни на всех.
>В контейнерах могут быть только разные таймзонывообще-то я находил настройку OpenVZ, которая позволяет иметь в контейнере независимое время и собственную синхронизацию.
>>Чушь не нужно писать :(
>
>хорошо, не буду. Вообще не буду писать. Пока не было никаких комментариев,
>я решил предложить хоть какую-то идею, но с вашим появлением я
>ухожу.Я готова извиниться за резкость :) Извините, правда :)
>>OpenVZ вообще не виртуализация, а контейнеры, Virtual
>>Enviroments на одном ядре. Часики в ядре всего одни на всех.
>>В контейнерах могут быть только разные таймзоны
>
>вообще-то я находил настройку OpenVZ, которая позволяет иметь в контейнере независимое время
>и собственную синхронизацию.Речь об вот этом:
=======man vzctl(8)========
--capability capname:on|off
Sets a capability for a container. Note that setting capability when the container is running does not take
immediate effect; restart the container in order for the changes to take effect. Note a container has
default set of capabilities, thus any operation on capabilities is "logical and" with the default capability
mask.You can use the following values for capname: chown, dac_override, dac_read_search, fowner, fsetid, kill,
setgid, setuid, setpcap, linux_immutable, net_bind_service, net_broadcast, net_admin, net_raw, ipc_lock,
ipc_owner, sys_module, sys_rawio, sys_chroot, sys_ptrace, sys_pacct, sys_admin, sys_boot, sys_nice,
sys_resource, sys_time, sys_tty_config, mknod, lease, setveid, ve_admin.WARNING: setting some of those capabilities may have far reaching security implications, so do not do it
unless you know what you are doing. Also note that setting setpcap:on for a container will most probably
lead to inability to start it.===============================
vzctl <VEID> --capability sys_time:on
Даст возможность контейнеру обновлять время для всей HardwareNode. Разработчики не рекомендуют ставить какой-либо софт на саму HN (в VE0), и рекомендуют для обновления времени завести специальный контейнер
>Топикстартеру: у MS до сих пор глобальное отставание в виртуализации: тот же
>Hyper-V только-только научился live migration, и то, только в рамках одного
>стораджа, ни HA ни чего более продвинутого там до сих пор
>нет.
>
>Я бы еще поняла использование Hyper-V, если инфраструктура завязана на технологии MS,
>но зачем(!) использовать нечто странное, этот Ваш MS Virtual Server, если
>на рынке есть гораздо более адекватные и промышленно надежные решения, как
>бесплатные, так и с саппортом, сертификатами, и пр?У нас дефицит реальных серверов и поэтому целая куча серверов работают на виртуальной машине от MS.
О возможности замены ее на что либо не может быть и речи ибо решаю не я.
Мне больше нравятся решение от VMWare...
Но исторически сложилось юзать MS Virtual Servers и на этом точка)))Вот поэтому и ищу решение.
--------------> Проблема то только в том главная что сеть падает из-за этого. А сервера эти WEB и доступность ресурсов архиважна.
Вот теперь думаю может скрипт какой сделать чтоб пинговал скажем yandex и если ответа нет то рестартал сеть...
>[оверквотинг удален]
>>
>>Я бы еще поняла использование Hyper-V, если инфраструктура завязана на технологии MS,
>>но зачем(!) использовать нечто странное, этот Ваш MS Virtual Server, если
>>на рынке есть гораздо более адекватные и промышленно надежные решения, как
>>бесплатные, так и с саппортом, сертификатами, и пр?
>
> У нас дефицит реальных серверов и поэтому целая куча
>серверов работают на виртуальной машине от MS.
> О возможности замены ее на что либо не может
>быть и речи ибо решаю не я.Попробуйте все-таки убедить человека, принимающего решения, что используемое для виртуализации решение неадекватно. Если тут MS фанатизм, может быть, стоит обратить внимание на Hyper-V?
Подозреваю, что на SLES проблемы вообще не будет, а для федор можно собрать ядро с паравиртуальными драйверами. Если на тестовом стенде с Hyper-V проблема не смоделируется, у Вас будет аргумент в споре)
> Мне больше нравятся решение от VMWare...:) Xen и KVM (с недавних пор, как появились сертифицированные MS драйвера) так же достаточно адекватный выбор
> Но исторически сложилось юзать MS Virtual Servers и на этом
>точка)))
> Вот поэтому и ищу решение.Советую поставить стенд с чем-то более нормальным(хотя бы Hyper-V, хотя и он гадость страшная, имхо, но мигрировать на него Вам должно быть проще, так как форматы совпадают) и попробовать убедить начальство выкинуть эту непонятную штуку, которую Вы сейчас используете