Переход на зимнее время


Главная Форумы POWER Systems AIX/Hardware Переход на зимнее время

В этой теме 8 ответов, 5 участников, последнее обновление  sdudnik 2 года/лет, 10 мес. назад.

Aliexpress INT
  • Автор
    Сообщения
  • #20221

    Дмитрий
    Участник
    Aliexpress INT

    По состоянию на сейчас новый вариант ФЗ “Об исчислении времени” ещё не принят, но, скорее всего, вариантов нет.
    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:
    Не факт, что предложныый выше способ перевода часов самый оптимальный.
    Жду ваших комментариев и предложений!
    http://aixportal.ru/forum/28-system-i-as400/19410—–.html

  • #20222

    Дмитрий
    Участник

    update: Уважаемый sever предлагает такое-же решение для ОС IBM i.
    http://aixportal.ru/forum/28-system-i-as400/19410—–.html

  • #20224

    Andrew White
    Участник

    moscow

    Скомпилировал новый файл Europe/Moscow с учетом переключения на UTC+3 в два часа ночи 26 октября 2014 года по местному времени, т.е. с двух часов ночи перейдем на один час ночи.
    Сначала добился, что без нового правила файл по размеру совпадал со старым и diff не видел разницы, потом добавил правило. Но не проверял еще, как сработает.

    Файл надо переимновать и положить в /usr/share/lib/zoneinfo/Europe/Moscow.
    Само собой на тестовой системе сначала и без гарантий))

  • #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]

  • #20227

    Дмитрий
    Участник

    Хороший вариант, спасибо!
    Если ОС время с тайм-сервера берёт, проверяли?
    (хотя, наверное, разницы нет).

    1. Не подходит тем, кто тайм-зону прописывал вручную, т.е. TZ=MSK-4, а не TZ=Europe/Moscow.
    1.1. Но если поменять с “ручной” на предложенную WHT, то можно обойтись одной перезагрузкой вместо двух.
    2. В случае установки обновлений AIX (TL/SP) нужно перепроверять, что случилось с эти файлом.

    3. Что-то мне подсказывает, что и в “ручном” описании переменной TZ можно настроить переход только 26.10.2014…

  • #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 2014

    root@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/

  • #20433

    Alexander Teterkin
    Участник

    Кстати, IBM выпустил патчи уже.
    Просто регистрируйте заявку в IBM и вам пришлют патч.

  • #21250

    Del
    Участник

    Здравствуйте,
    Можете ли вы сказать мне, как зарегистрировать заявку ?

    • Ответ изменён 2 года/лет, 10 мес. назад пользователем  Del.
  • #37528

    sdudnik
    Участник

    Кто-нибудь в курсе, надо в яве отдельно менять время?

Для ответа в этой теме необходимо авторизоваться.