Главная › Форумы › POWER Systems › AIX/Hardware › Переход на зимнее время
- В этой теме 8 ответов, 5 участников, последнее обновление 6 лет, 5 месяцев назад сделано
sdudnik.
-
АвторСообщения
-
-
05.07.2014 в 15:05 #20221
Дмитрий
УчастникПо состоянию на сейчас новый вариант ФЗ “Об исчислении времени” ещё не принят, но, скорее всего, вариантов нет.
26 октября 2014 г. в 02:00 нужно будет однократно перевести часы на 1 час.
Как это сделать?
Если у вас совсем немного систем и если вы не работаете в режиме 24×7, то сложности никакой нет. Поменял описание Time Zone, перезагрузил ОС и все дела.
А если систем много, если это 24×7, и время поступает от Time-сервера?
Тогда ой.Конечно, есть вариант “перезагрузить весь ЦОД” в 2 часа ночи. Но это @@@@@.
Мы с коллегами уже обсудили, и склоняемся к такому варианту:
1. Заранее меняем описание TZ с MSK-4 на MSK-4,MST-3,*** (не помню уже формата). Суть в том, что меняем описание на “старый” формат, с летним и зимним временем.
2. В сервисные окна перезагружаем ОС, совмещая это, например, с работами по обновлению ОС или HW или микрокода.
3. Визуально ничего не происходит, сейчас продолжается летнее время, если time-сервер выдаёт “гринвич”, всё OK.
4. В час “Ч” 26.10.2014 мы спокойно спим, а системы, как это было несколько лет назад, сами переведут часы.
5. Меняем все TZ на формат TZ=MSK-3 и не забываем перезагрузить все ОС до весны (см. п.2)Когда был переход на фиксированное летнее время, то мы поступили аналогично, заранее сменив TZ на MSK-4, не дожидясь патчей от IBM. Сейчас отличие: придётся проделать это 2 раза: до и после.
Открытым, как и в прошлый раз, остаётся вопрос с Time Zone в Java: см. JTZU.
По прошлому разу помню, что Open Source отработал оперативно, а официальная поддержка IBM стала шевелиться только после официального вступления закона в силу. В разультате патчи, мягко говоря, запоздали… Посмотрим, что будет сейчас, но, как только подпишут, придётся забрасывать поддержку кейсами.Уважаемое сообщество AIXPortal:
Не факт, что предложныый выше способ перевода часов самый оптимальный.
Жду ваших комментариев и предложений!
https://aixportal.ru/forum/28-system-i-as400/19410—–.html -
05.07.2014 в 15:06 #20222
Дмитрий
Участникupdate: Уважаемый sever предлагает такое-же решение для ОС IBM i.
https://aixportal.ru/forum/28-system-i-as400/19410—–.html -
07.07.2014 в 08:54 #20224
Andrew White
УчастникСкомпилировал новый файл Europe/Moscow с учетом переключения на UTC+3 в два часа ночи 26 октября 2014 года по местному времени, т.е. с двух часов ночи перейдем на один час ночи.
Сначала добился, что без нового правила файл по размеру совпадал со старым и diff не видел разницы, потом добавил правило. Но не проверял еще, как сработает.Файл надо переимновать и положить в /usr/share/lib/zoneinfo/Europe/Moscow.
Само собой на тестовой системе сначала и без гарантий)) -
07.07.2014 в 12:40 #20226
Andrew White
УчастникРаботает:
[code]Sun Oct 26 01:59:40 MSK 2014
bash-3.2# date
Sun Oct 26 01:59:55 MSK 2014
bash-3.2# date
Sun Oct 26 01:59:57 MSK 2014
bash-3.2# date
Sun Oct 26 01:59:58 MSK 2014
bash-3.2# date
Sun Oct 26 01:59:59 MSK 2014
bash-3.2# date
Sun Oct 26 01:00:00 MSK 2014
bash-3.2# date
Sun Oct 26 01:00:01 MSK 2014
bash-3.2# date
Sun Oct 26 01:00:01 MSK 2014
bash-3.2# date
Sun Oct 26 01:00:02 MSK 2014
[/code] -
07.07.2014 в 19:31 #20227
Дмитрий
УчастникХороший вариант, спасибо!
Если ОС время с тайм-сервера берёт, проверяли?
(хотя, наверное, разницы нет).1. Не подходит тем, кто тайм-зону прописывал вручную, т.е. TZ=MSK-4, а не TZ=Europe/Moscow.
1.1. Но если поменять с “ручной” на предложенную WHT, то можно обойтись одной перезагрузкой вместо двух.
2. В случае установки обновлений AIX (TL/SP) нужно перепроверять, что случилось с эти файлом.3. Что-то мне подсказывает, что и в “ручном” описании переменной TZ можно настроить переход только 26.10.2014…
-
10.10.2014 в 07:48 #20430
Alexander Teterkin
УчастникВот для Екатеринбурга написал:
AIX – Как настроить автоматический переход на зимнее время 26 Октября 2014 года в Екатеринбурге (с одной перезагрузкой)
Данный формат времени должен работать с AIX 6.1 и выше.
Не забывайте тестировать на тестовом сервере прежде чем применять на производственном (рабочем) сервере.
Смотрим текущее время:
[code]root@nim:/ # date
Fri Oct 10 11:52:41 YEKT 2014[/code]Смотрим используемую зону:
[code]root@nim:/ # cat /etc/environment | grep TZ
TZ=Asia/Yekaterinburg[/code]Если у вас другая временная зона (в Екатеринбурге), то нужно поменять и перезагрузить машину при первой возможности.
Смотрим запланированные смены времени в 2014 году:
[code]root@nim:/ # zdump -v Asia/Yekaterinburg |grep 2014
root@nim:/ #[/code]Их нет. Так и должно быть. Т.к., например, обновления AIX еще не было или мы не захотели его устанавливать.
Для примера можем посмотреть как было в 2010-м и 2011-м году:
[code]root@nim:/ # zdump -v Asia/Yekaterinburg |grep 2010
Asia/Yekaterinburg Sat Mar 27 20:59:59 2010 UTC = Sun Mar 28 01:59:59 2010 YEKT isdst=0
Asia/Yekaterinburg Sat Mar 27 21:00:00 2010 UTC = Sun Mar 28 03:00:00 2010 YEKST isdst=1
Asia/Yekaterinburg Sat Oct 30 20:59:59 2010 UTC = Sun Oct 31 02:59:59 2010 YEKST isdst=1
Asia/Yekaterinburg Sat Oct 30 21:00:00 2010 UTC = Sun Oct 31 02:00:00 2010 YEKT isdst=0
root@nim:/ #root@nim:/ # zdump -v Asia/Yekaterinburg |grep 2011
Asia/Yekaterinburg Sat Mar 26 20:59:59 2011 UTC = Sun Mar 27 01:59:59 2011 YEKT isdst=0
Asia/Yekaterinburg Sat Mar 26 21:00:00 2011 UTC = Sun Mar 27 03:00:00 2011 YEKT isdst=0
root@nim:/ #[/code]Идем на официальный сайт и скачиваем там самые свежие файлы базы временных зон:
ftp://ftp.iana.org/tz/releases/
Для компиляции зоны вам понадобится следующий файл:
ftp://ftp.iana.org/tz/releases/tzdata2014h.tar.gz (на 10.10.2014 года, возможно, сейчас есть уже более свежий файл).
Загрузите файл во временную папку на вашем сервере:[code]root@nim:/ # cd /tmp/tz
root@nim:/tmp/tz # ls
tzdata2014h.tar.gz[/code]Распакуйте:
[code]root@nim:/tmp/tz # gzip -d tzdata2014h.tar.gz
root@nim:/tmp/tz # tar -xvf tzdata2014h.tar
x CONTRIBUTING, 2162 bytes, 5 media blocks.
x Makefile, 25347 bytes, 50 media blocks.
x NEWS, 91484 bytes, 179 media blocks.
x README, 2623 bytes, 6 media blocks.
x Theory, 34422 bytes, 68 media blocks.
x africa, 49299 bytes, 97 media blocks.
x antarctica, 15024 bytes, 30 media blocks.
x asia, 120115 bytes, 235 media blocks.
x australasia, 72007 bytes, 141 media blocks.
x europe, 142083 bytes, 278 media blocks.
x northamerica, 133131 bytes, 261 media blocks.
x southamerica, 73897 bytes, 145 media blocks.
x pacificnew, 1182 bytes, 3 media blocks.
x etcetera, 2945 bytes, 6 media blocks.
x backward, 4285 bytes, 9 media blocks.
x systemv, 1538 bytes, 4 media blocks.
x factory, 385 bytes, 1 media blocks.
x backzone, 14190 bytes, 28 media blocks.
x iso3166.tab, 4554 bytes, 9 media blocks.
x leapseconds, 2114 bytes, 5 media blocks.
x zone1970.tab, 18512 bytes, 37 media blocks.
x zone.tab, 20050 bytes, 40 media blocks.
x leap-seconds.list, 9854 bytes, 20 media blocks.
x yearistype.sh, 678 bytes, 2 media blocks.
x checktab.awk, 4725 bytes, 10 media blocks.
x leapseconds.awk, 2303 bytes, 5 media blocks.
x zoneinfo2tdf.pl, 1409 bytes, 3 media blocks.
root@nim:/tmp/tz #
[/code]Создаем резервную копию текущей директории zoneinfo:
[code]root@nim:/ # tar cvf ZoneInfo.bakup.tar /usr/share/lib/zoneinfo[/code]
Полученный файл ZoneInfo.bakup.tar скачиваем на рабочую станцию и проверяем.
Компилируем новые файлы zoneinfo:
[code]root@nim:/tmp/tz # zic europe[/code]
Обратите внимание, что Екатеринбург хоть это и “Asia/Yekaterinburg” находится в файле “europe”.
[code]root@nim:/tmp/tz # cat europe | grep -p Yekaterinburg
…
Zone Asia/Yekaterinburg 4:02:33 – LMT 1916 Jul 3
3:45:05 – PMT 1919 Jul 15 4:00
4:00 – SVET 1930 Jun 21 # Sverdlovsk Time
5:00 Russia SVE%sT 1991 Mar 31 2:00s
4:00 Russia SVE%sT 1992 Jan 19 2:00s
5:00 Russia YEK%sT 2011 Mar 27 2:00s
6:00 – YEKT 2014 Oct 26 2:00s
5:00 – YEKT[/code]Проверяем, что зона поменяет время:
[code]root@nim:/tmp/tz # zdump -v Asia/Yekaterinburg |grep 2014
Asia/Yekaterinburg Sat Oct 25 19:59:59 2014 UTC = Sun Oct 26 01:59:59 2014 YEKT isdst=0
Asia/Yekaterinburg Sat Oct 25 20:00:00 2014 UTC = Sun Oct 26 01:00:00 2014 YEKT isdst=0
root@nim:/tmp/tz #[/code]26 Октября в 2:00 по местному времени часы переведутся на час назад.
Для принятия изменений перезагрузите сервер в удобное для вас время:
[code]root@nim:/tmp/tz # shutdown -Fr[/code]Не забываем тестировать прежде чем запускать на производственных (рабочих) машинах. Для этого на тестовой машине сделайте настройки, отключите синхронизацию времени (если была), поменяйте время на 26 Октября, перезагрузитесь и посмотрите что получится при наступлении времени перехода (2 часа ночи):
[code]root@nim:/tmp/tz # while true; do date; sleep 1; done
Sun Oct 26 01:59:50 YEKT 2014
Sun Oct 26 01:59:51 YEKT 2014
Sun Oct 26 01:59:52 YEKT 2014
Sun Oct 26 01:59:53 YEKT 2014
Sun Oct 26 01:59:54 YEKT 2014
Sun Oct 26 01:59:55 YEKT 2014
Sun Oct 26 01:59:56 YEKT 2014
Sun Oct 26 01:59:57 YEKT 2014
Sun Oct 26 01:59:58 YEKT 2014
Sun Oct 26 01:59:59 YEKT 2014
Sun Oct 26 01:00:00 YEKT 2014
Sun Oct 26 01:00:01 YEKT 2014
Sun Oct 26 01:00:02 YEKT 2014
Sun Oct 26 01:00:03 YEKT 2014
Sun Oct 26 01:00:04 YEKT 2014
Sun Oct 26 01:00:05 YEKT 2014root@nim:/tmp/tz #
[/code]
У меня на тестовой машине установлен следующий уровень AIX:
[code]root@nim:/ # oslevel -s
7100-03-01-1341[/code]Не забываем что Java, разные приложения которые могут использовать “свое время”, СУБД, HMC и т.п. тоже надо переводить.
Дополнительная информация:
http://cs.ucla.edu/~eggert/tz/tz-link.htm
http://www.ibm.com/developerworks/ru/library/au-time/ -
10.10.2014 в 11:41 #20433
Alexander Teterkin
УчастникКстати, IBM выпустил патчи уже.
Просто регистрируйте заявку в IBM и вам пришлют патч. -
14.10.2014 в 23:40 #21250
-
20.10.2014 в 17:24 #37528
sdudnik
УчастникКто-нибудь в курсе, надо в яве отдельно менять время?
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.