суббота, 30 января 2016 г.

Рубильник свербит

Я уже говорил, помнится, что появление рубильника будет вызывать неудержимый зуд в Гондурасе. Собственно, я был прав.

Все бы хорошо, недоумки. Одно плохо. Если бы вы могли заблокировать что-либо абсолютно, гарантированно, это было бы серьезно. Но, поскольку уже изобрели такую штуку как эта, потуги всякого рода недоношенных вахтеров выглядят жалко. Даже я не в состоянии в своих епархиях заблокировать что-то намертво. Со 146% гарантией. Как ваши выборы. А ведь "DAEWOO ЗНАЕТ ТОЛК В ХОЛОДЕ!". В отличие от вас и ваших прихвостней от IT.

Правило простое. Не можете обеспечить 100% выполнение собственного законодательства - забейтесь в угол пыльный и сосите х*й у пьяной обезьяны. Потому что трезвая вам не даст них*я.

Убожища. Сперва призовите экспертов - настоящих - и выясните, "хочу ли я, могу ли я, г*вно ли я - аааааааа! Магнолия!" - а уж потом прыгайте.

А так - лишь позор на весь мир себе обеспечиваете. На долгие поколения после отставки. Имя нарицательное, не так ли, господин Жаров? Не дошло еще? Ну да ладно, на пенсии будет время помедитировать. Может, и дойдет в конце концов.

Странно, что, в общем, кажущиеся неглупыми, люди, так добровольно залезают в дерьмо по самые не улыбайся. И ведь на голубом глазу дают интер-фью! - в которых серьезные вещи болтают. Господин Жаров, как там, в Монстрополисе? Авторские права-трали-вали, все такое, удалось, не? Суровые челябинские блокировщики обеспечили стопроцентное выполнение закона, а? Вы, помнится, хлестались, что аудитория сгинет с блокировкой? Ну, что? Скорее, ваш шах сдохнет?

Я вот куда клоню, мальчики и девочки. Г-н Жаров, по идее, по возрасту должен бы помнить совок. Подавляющее большинство из вас его не помнит и помнить не может в силу того, что вы все тогда мутной каплей у папки на письке болтались

Но я вам подскажу. Во времена г-на Леонида Ильича вражеские голоса - всякие там BBC, Голос Америки и прочая - блокировали всей радиопередающей мощью СССР.

И что? Диссидентов удалось-таки всех извести под корень? А, г-н Жаров? Не знаете? Пойдите в закрытые архивы ваших дружков из КГБ, поинтересуйтесь.

Где лежит всеми любимый Леонид Ильич - подсказать? Где лежит СССР - сами найдете? Ну и где диссиденты, так, напоследок.

История - она дама такая. Повторяется трижды. Первый раз для обучения. Второй для закрепления пройденного. Третий раз - контрольный - для недоумков, не понявших после первых двух.

Дошло, г-н Жаров? Или третьего выстрела в башку подождете?

Прямым текстом скажу. Для тех, кто из Челябинска.

Не можете победить или переубедить - заблокировать тем более не сможете.

Всосали? Или повторить?

PS. Привет Голден Шиту, даже они не в состоянии что-то до упрись заблочить. А возможностей, желания и ресурсов у них много поболее, чем у какого-то г*вённого Роскомпозорища. Слава КПК!
PPS. Привет всем региональным Жаровым. Вы еще не приняли лекарство, прописанное вашим психиатром? Марш в палату, к Наполеону Бонапартовичу XXXVII, MBA слова не давали!

четверг, 21 января 2016 г.

Sun StorEdge A3510FC: SMF для Sun StorEdge(tm) Configuration Service Agent и Sun StorEdge(tm) Diagnostic Reporter daemon

Точно по той же самой причине, что и в случае SMF для SMagent в массивах 2540-M2, напишем SMF для ssagent и ssdgrptd.

 <?xml version="1.0"?>  
 <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">  
 <!--  Manifest-file for Sun StorEdge(tm) Configuration Service Agent, put this file in  
     /var/svc/manifest/system/ssagent.xml  
     and run #svccfg import /var/svc/manifest/system/ssagent.xml  
     Yuri Voinov (C) 2016  
 -->  
 <service_bundle type='manifest' name='SSagent'>  
   
 <service  
     name='system/ssagent'  
     type='service'  
     version='1'>  
   
     <create_default_instance enabled='false' />  
   
     <single_instance />  
   
     <dependency name='fs-local'  
         grouping='require_all'  
         restart_on='none'  
         type='service'>  
         <service_fmri  
             value='svc:/system/filesystem/local' />  
     </dependency>  
   
     <dependency name="multi-user"  
         grouping="require_all"  
        restart_on="error"  
           type="service">  
       <service_fmri value="svc:/milestone/multi-user-server:default"/>  
     </dependency>  
   
     <exec_method  
         type='method'                                                     
         name='start'  
         exec='/etc/init.d/ssagent %m'  
         timeout_seconds='60' />  
   
     <exec_method  
         type='method'  
         name='stop'  
           exec='/etc/init.d/ssagent %m'  
         timeout_seconds='60' />  
   
     <property_group name='general' type='framework'>  
         <!-- to start stop SSagent -->  
         <propval name='action_authorization' type='astring'  
             value='solaris.smf.manage' />  
     </property_group>  
   
     <stability value='Unstable' />  
   
     <template>  
         <common_name>  
             <loctext xml:lang='C'>  
              Sun StorEdge(tm) Configuration Service Agent  
             </loctext>  
         </common_name>  
     </template>  
   
 </service>  
 </service_bundle>  

 <?xml version="1.0"?>  
 <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">  
 <!--  Manifest-file for Sun StorEdge(tm) Diagnostic Reporter daemon, put this file in  
     /var/svc/manifest/system/ssdgrptd.xml  
     and run #svccfg import /var/svc/manifest/system/ssdgrptd.xml  
     Yuri Voinov (C) 2016  
 -->  
 <service_bundle type='manifest' name='ssdgrptd'>  
   
 <service  
     name='system/ssdgrptd'  
     type='service'  
     version='1'>  
   
     <create_default_instance enabled='false' />  
   
     <single_instance />  
   
     <dependency name='fs-local'  
         grouping='require_all'  
         restart_on='none'  
         type='service'>  
         <service_fmri  
             value='svc:/system/filesystem/local' />  
     </dependency>  
   
     <dependency name="multi-user"  
         grouping="require_all"  
        restart_on="error"  
           type="service">  
       <service_fmri value="svc:/milestone/multi-user-server:default"/>  
     </dependency>  
   
      <dependency name='SSagent'  
           grouping='optional_all'  
           restart_on='refresh'  
           type='service'>  
       <service_fmri value="svc:/system/ssagent:default"/>  
      </dependency>  
   
     <exec_method  
         type='method'  
         name='start'  
         exec='/etc/init.d/ssdgrptd %m'  
         timeout_seconds='60' />  
   
     <exec_method  
         type='method'  
         name='stop'  
           exec='/etc/init.d/ssdgrptd %m'  
         timeout_seconds='60' />  
   
     <property_group name='general' type='framework'>  
         <!-- to start stop ssdgrptd -->  
         <propval name='action_authorization' type='astring'  
             value='solaris.smf.manage' />  
     </property_group>  
   
     <stability value='Unstable' />  
   
     <template>  
         <common_name>  
             <loctext xml:lang='C'>  
              Sun StorEdge(tm) Diagnostic Reporter daemon  
             </loctext>  
         </common_name>  
     </template>  
   
 </service>  
 </service_bundle>  

И сходным образом отключим lrc сервисы для последующего использования SMF:

 # To disable StorEdge lrc services:  
 mv /etc/rc2.d/S81ssagent /etc/rc2.d/.S81ssagent  
 mv /etc/rc2.d/S82ssdgrptd /etc/rc2.d/.S82ssdgrptd  
   
 or   
   
 /etc/init.d/ssdgrptd disable stop  
 /etc/init.d/ssagent disable stop  
   
 svcadm enable ssagent  
 svcadm enable ssdgrptd  

Вот и все, ребята! ;)

PS. Импортировать сервисные манифесты не забудьте ;).

Sun Storage 2540-M2: SMF для CAM Add-On Storage Manager Agent

Всем хорош CAM для массивов 2540-M2. Несколько вещей в нем раздражают.

Веб-морда массива древняя и не работает ни в одном современном браузере. Только в IE и только не выше 11ки, и только с руганью на безопасность.

Вторая неприятная вещь - агент SMagent, который требуется для in-band management (ну то бишь через FC и CLI,  а не через гуй, удаленно, и по сети), рассчитывался на самые разные версии Солярис и ставится, натурально, через sysvinit.

Нам это, во времена как минимум 10ки, разумеется, не нравится.

Напишем SMF.

Для этого не будем писать управляющий скрипт - он уже написан. Достаточно написать только сервисный манифест:

 <?xml version="1.0"?>  
 <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">  
 <!--  Manifest-file for CAM Add-On Storage Manager Agent, put this file in  
     /var/svc/manifest/system/smagent.xml  
     and run #svccfg import /var/svc/manifest/system/smagent.xml  
     Yuri Voinov (C) 2016  
 -->  
 <service_bundle type='manifest' name='SMagent'>  
   
 <service  
     name='system/smagent'  
     type='service'  
     version='1'>  
   
     <create_default_instance enabled='false' />  
   
     <single_instance />  
   
     <dependency name='fs-local'  
         grouping='require_all'  
         restart_on='none'  
         type='service'>  
         <service_fmri  
             value='svc:/system/filesystem/local' />  
     </dependency>  
   
     <dependency name="multi-user"  
         grouping="require_all"  
        restart_on="error"  
           type="service">  
       <service_fmri value="svc:/milestone/multi-user-server:default"/>  
     </dependency>  
   
     <exec_method  
         type='method'  
         name='start'  
         exec='/etc/init.d/SMagent %m'  
         timeout_seconds='60' />  
   
     <exec_method  
         type='method'  
         name='stop'  
           exec='/etc/init.d/SMagent %m'  
         timeout_seconds='60' />  
   
     <property_group name='general' type='framework'>  
         <!-- to start stop SMagent -->  
         <propval name='action_authorization' type='astring'  
             value='solaris.smf.manage' />  
     </property_group>  
   
     <stability value='Unstable' />  
   
     <template>  
         <common_name>  
             <loctext xml:lang='C'>  
              Storage Manager Agent  
             </loctext>  
         </common_name>  
     </template>  
   
 </service>  
 </service_bundle>  

и, как сказано в комментарии метода, импортируем в репозиторий SMF:

 svccfg import /var/svc/manifest/system/smagent.xml  

предварительно скопировав манифест по указанному пути.

Осталось остановить агент, отключить lrc, и запустить агент снова посредством SMF:

 # To disable lrc SMagent, run:  
   
 mv /etc/rc2.d/S99SMagent /etc/rc2.d/.S99SMagent  
   
 # then activate SMF. Stop agent first!  
   
 svcadm enable smagent  
   

Наслаждайтесь преимуществами SMF :) Теперь агент можно запускать и останавливать по необходимости, а не держать постоянно запущенным (он на Java написан, вы выбросите на ветер от 200 до 400 мегабайт оперативной памяти хоста).

Sun StorEdge A3510FC: Сброс состояния in-service батареи контроллера

Вы думаете, что сбросить состояние батарейки контроллера массива Sun StorEdge A3510FC (да и вообще всей серии A35xx) можно так, как всюду в гугле можно найти? Ну то есть вот так:

 sccli> show battery-status -u  

???

Вы правда так думаете?

Я вас разочарую. Это враньё. Один болван вякнул, остальные тупо у него скопировали. Как оно обычно и бывает.

То есть для батареек с возрастом свыше 3 лет с истекшими тремя годами после реальной замены это не работает. Да-да. Вот так. От слова совсем.

То, что на самом деле работает - не документировано. Ни в мануалах. Ни в хелпе sccli.

Реально работает недокументированная команда сервисников:

 sccli> set battery top force 01/21/2016  
 sccli> set battery bottom force 01/21/2016  

Не спрашивайте, как я ее нашел. На самом деле - угадал.

Дату, ежу понятно, задавать по вкусу.

PS. Все риски сброса времени замены реально дохлых батарей - на вашей совести. Это ваши массивы и ваши данные. Потом не жалуйтесь!