вторник, 29 сентября 2020 г.

okay, i used to have the same problem. my kibana did not show monitoring graphs, however i had monitoring index index .monitoring-es-* available the root of problem in my case was that my master nodes did not have :9200 HTTP socket available from the LAN. that is my config on master nodes was: ... transport.host: [ "192.168.7.190" ] transport.port: 9300 http.port: 9200 http.host: [ "127.0.0.1" ] ... as you can see HTTP socket is available only from within host. i didnt want if some one will make HTTP request for masters from LAN because there is no point to do that. However as i uderstand Kibana do not only read data from monitoring index index .monitoring-es-* but also make some requests directly for masters to get some information. It was exactly why Kibana did not show anything about monitoring. After i changed one line in the config on master node as http.host: [ "192.168.0.190", "127.0.0.1" ] immidiately kibana started to show monitoring graphs. i recreated this expereminet several times. Now all is working. Also i want to underline in spite that now all is fine my monitoring index .monitoring-es-* do NOT have "cluster_stats" documents. So if your kibana do not show monitoring graphs i suggest 1) check if index .monitoring-es-* exists 2) check if your master nodes can serve HTTP requests from LAN ========== форматирование блогпота остой. все перемешал в кашу.
Share:

суббота, 1 августа 2020 г.

vmware-z4

значит я замучался активировать hp smart path
ниже расказ как это сделать


=====
тема - как активироват smart path 
на esxi

история.

я захотел активировать smart path 
на esxi 5.5

контроллер p420i

я ввел команду

 # /opt/hp/hpssacli/bin/hpssacli ctrl slot=0 array A modify ssdsmartpath=enable

и оно мне выдало


Error: This operation is not supported with the current configuration. Use the
       "show" command on devices to show additional details about the
       configuration.
Reason: Not Applicable


витоге помогло :
1) обновил firmware на контроллере с 3.42 до 8.32
2) обвноил на esxi драйвер hpsa до версии scsi-hpsa                      5.5.0.128-1OEM.550.0.0.1331820         HPE              VMwareCertified   2020-08-01

после этого команда modify ssdsmartpath отпработала безпроблем.

требований к тому чтобы smartpath работал никаких кроме того что диски должны
быть ssd. сколько штук опять же неважно.

тоесть проблема была чисто версиях софта.

вот как выглядит если smart path активирован

~ # /opt/hp/hpssacli/bin/hpssacli ctrl slot=0 ld 1 show

Smart Array P420i in Slot 0 (Embedded)

   array A

      Logical Drive: 1
         Size: 931.5 GB
      ...
....
         Mirror Group 2:
            physicaldrive 1I:1:4 (port 1I:box 1:bay 4, Solid State SATA, 1 TB, OK)
         Drive Type: Data
         LD Acceleration Method: HP SSD Smart Path



и вот как при этом выглядит свойства кэша на котроллере

~ # /opt/hp/hpssacli/bin/hpssacli ctrl slot=0 show detail
...
...
 Cache Board Present: True
   Cache Status: Not Configured
   Cache Ratio: 100% Read / 0% Write
   Read Cache Size: 0 MB
   Write Cache Size: 0 MB

это также показвыает что контроллер работат в режиме smart path

 для сравнения как выглядит массив если для него активировано кэширование
на кэше контроллера

~ # /opt/hp/hpssacli/bin/hpssacli ctrl  slot=0 ld 1 show

Smart Array P420i in Slot 0 (Embedded)

   array A

      Logical Drive: 1
        ...
        ....
         Drive Type: Data
         LD Acceleration Method: Controller Cache


и вот как при этом выглядит в свойствах контроллера статус кэш памяти

~ # /opt/hp/hpssacli/bin/hpssacli ctrl slot=0 show detail
...

...
 Cache Board Present: True
   Cache Status: OK

   Cache Ratio: 10% Read / 90% Write


далее. замечу что smart path нельзя активировать если на контроллере нет кэш памяти. 
без нее никак все равно. он ее использует.

выхлоп от smartpath : типа он дает в несколько раз больше IOPS на чтение.
на запись он никакого прироста недает.

как он работает. 
вроде как драйвер анализирует запрос IOPS и и если он "крупный" на чтение или просто на запись то драйвер передает запрос ( как я понял  ) внутреннему софту контроллера ( на котором есть процессор и свой внутренний софт типа прошивка ) и соотвественно данный запрос обрабатыает проц +софт контрроллера что типа медленно.
  а если драйвер считает что IOPS на чтение "быстрый" то (как я понял) каким то образом
данный запрос направляет на контроллер но внутри него обслуживается в каком то облегченном режиме типа как то в обход прошивки. и на выхлопе время обслуживания
такого запросы получается существенно быстрее.
непонятно как можно пропускать запрос через контроллер в обход его внутреннего софта непонятно но тем не менее.

далее я опубликую тест
какая скорость диска получается при активированном smart path
и при его альтернативе классическом кэшировании через кэш память контроллера.

бенчмарк сравнения скорости дисков через Smart Path vs классический кэш RAM контроллера.

массив это Raid 1 , два диска SSD  Samsung SSD 860 1TB

на дисках включен встроенный RAM кэш этих дисков.

1) первая фаза на массиве активирован Smart Path

hp smart path = enabled

HDD buil-in ram cache = enabled


4k random read
q=1
6 389 IOPS
0.12ms

q=10
iops=30 761
0,32ms

q=50
iops=78 451
0,63ms


4k random write
q=1
iops = 7 661
0,09ms

q=10
26 885 IOPS
0.30ms

q=50
26 260 iops
0.90ms

1M seq read
q=1
thgroughptut = 689MB\s

1M seq write
q=1
throughput = 368 MB\s


2) вторая фаза.  массив кэшируется на RAM кэш памяти контроллера 1Gb
cachin via controller cache-ram

вот параметры кэша на контроллере
 Cache Status: OK
   Cache Ratio: 0% Read / 100% Write
   Drive Write Cache: Enabled


4k random read
q=1
5 737 iops
0,14ms



q=10
29 556 iops
0,26ms



q=50
73 465 iops
0,68ms

4k random write
q=1
15 063 iops
0.07ms




q=10
27 517 iops
0.36ms

q=50
27 334 iops
1.826ms

1M seq read
q=1
tghroughput 630 MB\s

1M seq write
q=1
tghroughput 470 MB\s


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

===


Share:

среда, 13 мая 2020 г.

veeam

у вееама есть  настройка

General options - notifications - Skip VM processing when free disk space is below


по умолчанию оно там настроено на 5%

если на датасторе меньше места.
то veeam напишет вот такую херню:
 Error: Skipping VM processing due to insufficient free disk space on datastore


и я думал что это изза заебов на стороне esxi.
а оказывается проблема на стороне veeam.

 остается либо снизить порог на veeam
либо освободить место на датасторе до 5%.

 я освободил место на датасторе

но отказ кроется на стороне veeam  а не esxi

---------------

понадобилось перенести виртуалку с одной гео локации на другую.

хотел снять бэкап виртуалки через veeam в точке А и потом его импортировать на другом
veeam в точке Б и развернуть.

скажу сразу неполучилось.

во первых раскажу как делается.

по идее думаю можно скопировать папку с диска исходного вееама
в папку на другой вееам.
потом там есть кнопка импортировать.

открывается окно указыаем путь к *.vbm или чтото типа того файлу.

и дальше пошли ошибки.

вначале оно писало что отсутствует node hosts.

потом я на исходном веем нажал экспртировать бэкап виртуалки.
во первых это нельзя сделать с классическим автоматическим бэкапом
который в job.

можно экспортировать только veeam-zip бэкапы.
при этом он там чтото делает.и кладет бэкап в новую папку.

я взял этот "экспортировнный " бэкап. перекопировал на другой вееам
но он тоже несмог его всосать.

там либо ничего не вылезало либо в конце концов когда я тыкнул на *.vbk файл
то вылезло unsopported storag type.

из форума веама я радостно узнал что походу пьесы я снял бэкап через вееам более новой
версии чем вееам на котром я хочу его импортнуть.

таким образом история закогчилась.

главная мораль - надо чтобы версия веама и на исходной и в конечной точки
были одинаковыми.

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

в итоге ставить пробную версию веама на обоих точках я не стал
потому что это мне расплодить зоопарк из веамов.
во вторых это тоже небыстро.

остановлся на том что конкретно эту виртуалку я забэкаплю так -
я сниму снэпшот фс. и потом его накачу в конечной точке.

-----------



Share:

вторник, 5 мая 2020 г.

elasticsearch, kernel

некоторые версии ядра линукса  имеют баг

поэтому при работе с эластиком который в свою очередь работает на java jvm

ядро линукса вызывает OOM иза забага и убивает джава процесс.

поэтому надо аккуратно выбирать ядро лиукса для эластика


щас пойдет речь о том как понизить версию ядра в линуксе в ubuntu

вот отличная статья - https://serverascode.com/2019/05/17/install-and-boot-older-kernel-ubuntu.html


из нее следует

ставим нужную версию ядра линукса

apt install linux-image-4.4.0-22-generic


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



для этого смотрим а что там у нас в  настройках граба прописано

awk '/menuentry/ && /class/ {count++; print count-1"****"$0 }' /boot/grub/grub.cfg 0****menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-3bfdf15c-91ab-470e-a04a-6d95c9a1fbac' { 1**** menuentry 'Ubuntu, with Linux 4.4.0-148-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-148-generic-advanced-3bfdf15c-91ab-470e-a04a-6d95c9a1fbac' { 2**** menuentry 'Ubuntu, with Linux 4.4.0-148-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-148-generic-recovery-3bfdf15c-91ab-470e-a04a-6d95c9a1fbac' { 3**** menuentry 'Ubuntu, with Linux 4.4.0-22-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-22-generic-advanced-3bfdf15c-91ab-470e-a04a-6d95c9a1fbac' { 4**** menuentry 'Ubuntu, with Linux 4.4.0-22-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-4.4.0-22-generic-recovery-3bfdf15c-91ab-470e-a04a-6d95c9a1fbac' {


нужная нам версия имеет в меню цифру "3"

это значит что в

/etc/default/grub

мы должны вместо строки

GRUB_DEFAULT=0


прописать строку

GRUB_DEFAULT="1>3"


(автор кстати  в своей статье описался и указал 1>2 что неверно ибо ведет обратно к загрузке
нового ядра. ну ладно неважно).


теперь надо обновить конфиг grub

# update-grub


все перезагржаемся и проверяем что загрузилось нужно ядро

конец.

Share:

четверг, 30 апреля 2020 г.

apt

добавил в

/etc/apt/sources.list 

deb http://http.us.debian.org/debian/ stretch main restricted

deb http://http.us.debian.org/debian/ stretch-updates main restricted

deb http://http.us.debian.org/debian/ stretch universe
deb http://http.us.debian.org/debian/ stretch-updates universe

deb http://http.us.debian.org/debian/ stretch multiverse
deb http://http.us.debian.org/debian/ stretch-updates multiverse

deb http://http.us.debian.org/debian/ stretch-backports main restricted universe multiverse

deb http://security.debian.org/debian-security/ stretch/updates main


после этого запускаю

# apt-get update

а он выдает ошибку

GPG error: http://security.debian.org/debian-security stretch/updates InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY



что нужно сделать


1) поставить пакет

apt-get install  debian-archive-keyring

2) запустить
apt-get update

он выдаст ошибку

E: Failed to fetch http://http.us.debian.org/debian/dists/stretch/main/i18n/Translation-en  BZ2_bzread: /var/lib/apt/lists/partial/http.us.debian.org_debian_dists_stretch_main_i18n_Translation-en.bz2 Read error (-5: DATA_ERROR_MAGIC)

3) зайти в каталог 
/var/lib/apt/lists

и удалить там все внутри

4) запустить

apt-get update

вот теперь процесс проходит без ошибок



Share:

воскресенье, 16 февраля 2020 г.

четверг, 13 февраля 2020 г.

iis -ftp

ftp на основе iis


во первых .

ftp работает по двум портам.
ftp работает только через TCP.

основной порт 21.

далее есть два режима

active - Это когда мы звоним на фтп сервер по порту 21 и далее говорим серверу
чтобы он постучался клиенту на порт такойто. в итоге этот режим в реальных условиях
неработает. так как позвонить клиенту неполучится. ибо клиент сидит за натом провайдера.

пассивный -  клиент звонит на фтп сервер по порту 21. и сервер говорит клиенту на какой второй порт звонить клиенту на сервер. это реальный уже режим.
поэтому на файрволле за которым сидит фтп сервер нужно открвыать tcp 21 и еще
некий диапазон tcp портов например 50000-50100. ( по одной штуке для одного доп клиента).
таким образом первый клиент подключиться к 21 и 50000 , второй к 21 и 50001 итп.
этот диапазон нужно указать будет на фтп сервере (об этом ниже)



на чем я намудохался.




1. мудота с портами. значит я указал в iis порты которые его фтп должен использовать
для второго порта в коннектах с клиентами.

для этого идем  в firewall support в самый корень сайта.



и там указываем порты которые будут указаны клиентам для подключения
и тамже нужно указать обязательно IP файрволла за которым прячется фтп.
когда клиент стучится по 21 порту на сервер. тот ему в обратном сообщении сообщается
порт из указанного диапазона и адрес файрволла который мы указали.



так вот проблема iss ftp состоит в том что он игнорирует указанный нами диапазон.
и использует какойто свой како ему в голову взбредет.
получается iss сообщает клиенту некий левый порт например 60 000 а на файрволле у нас
он же закрыт ( мы же открыли на файрволле 50 000 - 53 000) и получается жопа.
на клиенте это проявляется в том что коннект вроде есть но листинг директории так и не появляется. все висит. итак еще раз. iis по порту 21 сообщает клиенту второй порт на который ему надо звонить. этот второй порт должен быть открыт для коннекта на файрволле (на NAT) за которым прячется фтп. так вот диапазон этих вторых портов указывается на iss. и он же пробарсывается на файрволле.  тогда листинг директории у клиента будет успешным.
если же коннект на фтп ( по порту 21 есть) а листинга нет значит что iis-ftp сообщил клиенту
порт котооый закрыт на файрволле.  так получается потому что  почемуто iss игнорирует диапазон портов который мы указываем ( и соотввесвтенно открываем на файроле) а испольщует свой некий диапазон.он. напипример в моем случае iss собщал клиенту порт 49000.


2.  вторая проблема была в том чтобы заставить заходить юзера по паролю на сервер.
я хочу чтобы завести юзера в виндовс. и под его логином паролем можно было войти на
фтп.

такая аутентификация назвыается basic в настройках фтп сервера.

активруется она здессь - тыкаем на наш фтп папку и  FTP Authentication





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

теперь надо прописать кто конкретно может входить и что делать ( чтение, запись).
делаем это вот здесь

в данном случае я разрешил группе FTP-Group читать и писать в эту фтп папку.

и тут важно вот что отметить

группу FTP-Group я создал в lusrmgr.msc/
теперь длостаточно пользователя добавить в эту группу.
важно отметить что  больше нивкакую группу его ненужно добавлять. ( например его ненужно
добавлять в группу IIS_USRS). также важно что ненужно идти в NTFS свойства папки
и там прописывать прописывать пермишнсы для FTP-Group.


Share:

четверг, 5 сентября 2019 г.

best practice

best practice

1. на сфере на датасторе нужно обязательно оставлять скажем 600-1ТБ места свободного
для того чтобы потом можно было спокойно делать бэкапы через снэпшоты. иначе бэкапы делать снимать никак не полуичится


Share:

пятница, 28 июня 2019 г.

storcli

storcli
rebuild

=============
lsi

диск сломался . замена



отсюда взяд

https://wiki.nikhef.nl/grid/Managing_RAID_Controllers


значит когда мы диск новый вставим то он будет иметь статус  UBAD


> storcli /c0 show


-------------------------------------------------------------------------
EID:Slt DID State DG     Size Intf Med SED PI SeSz Model              Sp
-------------------------------------------------------------------------
252:0     8 Onln   0 2.728 TB SAS  HDD N   N  512B ST3000NM0025       U
252:1     5 UBad   - 2.728 TB SATA HDD N   N  512B ST3000DM001-1CH166 U
252:2     4 Onln   0 2.728 TB SATA HDD N   N  512B ST3000DM001-9YN166 U
252:3     6 Onln   0 2.728 TB SATA HDD N   N  512B ST3000DM001-1ER166 U
-------------------------------------------------------------------------


нам надо его в UGOOD превратить

> /opt/lsi/storcli/storcli  /c0 /e252 /s1 set good

> storcli /c0 show

-------------------------------------------------------------------------
EID:Slt DID State DG     Size Intf Med SED PI SeSz Model              Sp
-------------------------------------------------------------------------
252:0     8 Onln   0 2.728 TB SAS  HDD N   N  512B ST3000NM0025       U
252:1     5 UGood  F 2.728 TB SATA HDD N   N  512B ST3000DM001-1CH166 U
252:2     4 Onln   0 2.728 TB SATA HDD N   N  512B ST3000DM001-9YN166 U
252:3     6 Onln   0 2.728 TB SATA HDD N   N  512B ST3000DM001-1ER166 U
-------------------------------------------------------------------------


но ребилдинг после этого неначгется нужно его в массив вначале добавить


> storcli /c0 show

-------------------------------------------------------------------------
DG Arr Row EID:Slot DID Type   State BT     Size PDC  PI SED DS3  FSpace
-------------------------------------------------------------------------
 0 -   -   -        -   RAID10 Dgrd  N  5.457 TB dsbl N  N   dflt N
 0 0   -   -        -   RAID1  Dgrd  N  2.728 TB dsbl N  N   dflt N
 0 0   0   252:0    8   DRIVE  Onln  N  2.728 TB dsbl N  N   dflt -
 0 0   1   -        -   DRIVE  Msng  -  2.728 TB -    -  -   -    -
 0 1   -   -        -   RAID1  Dgrd  -  2.728 TB -    -  -   -    N
 0 1   0   252:2    4   DRIVE  Onln  N  2.728 TB dsbl N  N   dflt -
 0 1   1   252:3    6   DRIVE  Onln  Y  2.728 TB dsbl N  N   dflt -
-------------------------------------------------------------------------


-------------------------------------------------------------------------
EID:Slt DID State DG     Size Intf Med SED PI SeSz Model              Sp
-------------------------------------------------------------------------
252:0     8 Onln   0 2.728 TB SAS  HDD N   N  512B ST3000NM0025       U
252:1     5 UGood  F 2.728 TB SATA HDD N   N  512B ST3000DM001-1CH166 U
252:2     4 Onln   0 2.728 TB SATA HDD N   N  512B ST3000DM001-9YN166 U
252:3     6 Onln   0 2.728 TB SATA HDD N   N  512B ST3000DM001-1ER166 U
-------------------------------------------------------------------------


из этих двух табличек мы выясняем что у у нового диска должно быть

Array = 0
Row = 1
DG = 2

array и row мы вычисляем по логике. так как  массив состоит из 4 дисков - пара зеркал.
и диск 252:0 имеет arr=0 и row =0 , то напарник ему тот что вставили будет 
входить в тот же array=0 но row будет = 1

добавляем наш диск в массив

~ # /opt/lsi/storcli/storcli  /c0 /e252 /s1 insert dg=0 array=0 row=1

> storcli /c0 show

-------------------------------------------------------------------------
EID:Slt DID State DG     Size Intf Med SED PI SeSz Model              Sp
-------------------------------------------------------------------------
252:0     8 Onln   0 2.728 TB SAS  HDD N   N  512B ST3000NM0025       U
252:1     5 Offln  0 2.728 TB SATA HDD N   N  512B ST3000DM001-1CH166 U
252:2     4 Onln   0 2.728 TB SATA HDD N   N  512B ST3000DM001-9YN166 U
252:3     6 Onln   0 2.728 TB SATA HDD N   N  512B ST3000DM001-1ER166 U
-------------------------------------------------------------------------

видим что диск добавился в массив и имеет статус Offline

теперь можно запустить ребилдинг

 # /opt/lsi/storcli/storcli  /c0 /e252 /s1 start rebuild


смотрим статус rebuild

troller = 0
Status = Success
Description = Show Drive Rebuild Status Succeeded.


------------------------------------------------------
Drive-ID    Progress% Status      Estimated Time Left
------------------------------------------------------
/c0/e252/s1        15 In progress 3 Hours 37 Minutes
------------------------------------------------------


все !

Share:

пятница, 21 июня 2019 г.

haproxy

прежде всего что такое SNI
это такой добавок к протоколу TCP чтобы можно было сообщить в заголовке  к какому
домену мы обращаемся в трафике SSL. чтобы можно было на одном сокете IP:443
держать несколько сертификатов от разных сайтов.
хапрокси умеет работать с SNI


если у нас происходит расшифровка трафика SSl на хапрокси (режим http) то поток анализируется опцией


acl backend1 ssl_fc_sni backed1.domain.com
use_backend backend1 if backend1



если трафик нерасшифровывается ( режим tcp ) то другой опцией (ищи в инете)

--

Share:

вторник, 9 апреля 2019 г.

vmware-z2

vmware-z2


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

итак 
сейчас я опишу связь 
между 

scsi (0:0) hard disk 1



и то как найти этот диск в windows




Итак поехали

ВНИМАНИЕ !!!! позднее я узнал из практики что то что я изложил выше и ниже это несовсем верно. поэтому еще ниже красным я дописал самую верную информацию!!!

на сфере  ========> в windows 

scsi (0:0) hard disk 1   ==========> Location 160 ( bus number 0, Target Id 0, LUN 0)

scsi (1:0) hard disk 2   ==========> Location 224 ( bus number 0, Target Id 0, LUN 0)

scsi (2:0) hard disk 3   ==========> Location 256 ( bus number 0, Target Id 0, LUN 0)

scsi (2:1) hard disk 4   ==========> Location 256 ( bus number 0, Target Id 1, LUN 0)


Итак Location 160 -- это scsi (0, ....) на сфере.  это  также означает что scsi диск прикреплен к первому scsi вирт контроллеру.

Итак Location 224 -- это scsi (1, ....) на сфере.  это  также означает что scsi диск прикреплен к второму scsi вирт контроллеру.

Итак Location 256 -- это scsi (2, ....) на сфере.  это  также означает что scsi диск прикреплен к третьему scsi вирт контроллеру.

Target Id 0  -- это scsi ( *, 0 ) на сфере.
Target Id 1  -- это scsi ( *, 1 ) на сфере.

остальные цифры это шлак. так как

LUN - непонятно что означает

hard disk Х - означает каким на сфере по счету был добавлен диск что не играет никакой роли.


пример.

вот сейчас у меня обратная задача

есть диск в windows

Location 160 ( bus number 0, Target Id 3, LUN 0)

нужно понять какой это диск на vsphere.

смотримнаверх и понимаем что на сфере это будет диск

scsi (0:3) hard disk х


итак !!!!!!  самая верная информация -

на практике я столкнулся со случаем. 

на виртуалке два SCSI контроллера.






я ожидал поэтому что диски будут иметь

Location 160
и
Location 224

однако! на практике оказалось что диски имеют

Location 160
Location 256

что за нахуй с 256 ?

это выглядело так как бутто в виртуалке было ТРИ scsi контроллера. но это было нетак как видно из картинки.

я пролистал все диски в свойствах виртуалки они все имели вид

SCSI ( 0 : x)

либо

SCSI ( 1 : x)

как четко следует из предущего материала первая цифра это всегда именно номер scsi контроллера в сфере к которому диск подсоединен. безусловно с точки зрения конфига сферы все очень четко.  мы имеем

scsi controller 0
scsi controller 1

и диски с 0 и 1 в первой цифре.

почему в виндовсе мы имеем Location 256  а не Location 224  который по нормальному должен иметь второй контроллер  для меня полная загадка.

я подумал может быть  на виртуалке было изначально три контролллера. потом второй удалили
и после этого третий из контролллер сфера переименовала во второй  и переимновала первые цифры в дисках которые к нему подключены. но это все хуйня я проверил на сфере.
номер контроллера независит от перетрубаций он такой ровно каким он есть на момент создания. если создать три контролллера а потом второй удалить то третий контроллер и диски его все они останутся неизменными никаких перенименовайни небудет. также из проверки стало ясно что ни установить ни удалить scsi контролллер из виртуалки не получитяс сам по  себе , контроллер автоматом создается при создании HDD с соовтесвтующим SCSI ( X , Y).
и также он автоматически удаляется при удалении последенго диска который был к нему подключен.  поэтому из всего этого вытекает что на виртуалке изначально было два контроллера

scsi controller 0
scsi contoller 1

между ними небыло никаких контроллеров. и в виндов по всем понятиям должен быть location 224 почему там 256 нихуя непонятно.

вся эта лабуда означает что  к сожалению виндовс некоректно отображает маапинг
между сферой и собой по дискам. и можно конкретно наебаться.
поэтому лучше лишний раз еще раз провериить
сколько контроллеров в целом на виртуалке.
и совпдаают ли маппинги  Location
потому что можно легко удалить нетот диск.
в моем случае я проверил на сфере что к scsi controller 1 подключено 4 диска.

потом я вызвал список дисков в винодвсе

Get-WmiObject Win32_DiskDrive | select-object DeviceID,scsiport,scsibus,scsitargetid,scsilogicalunit | out-file -FilePath c:\OutputPhysicalDrive.txt

получил такой листинг


здест нас интеерсует

scsiport

он покаывает Location

и вот я убедился что 4 тех же дисков что на сфере входят в тот же scsiport

ну и тогда уже смело удалял эти диски.

вот така хуйня с  идентификацией дисков сферовских на виндовсе.
----

в vmware можно делать мега вещь.

скажем  у нас датастор основан на iscsi.

мы берем на стороне iscsi  таргета ( скажем фриинас) увеличиваем размер zvol.

после этого идеи в сферу. нажимаем пересканировать все датасторы.
далее нажимаем правую кнопку на том датасторе zvol которого мы на стороне фринас увеличили - далее жмем properties   - и идем в increase

и там мы увидим лун нашего датастора. если мы его выберем. то в итоге мы получим наш датастор увеличенного размера.

таким образом можно динамически расширять уже имеющийся датастор. по крайней мере когда бэкендом выступает iscsi.

очень круто. особенно когда датастор заполнен и нужно место дополнительное под снэпшоты для снятия бэкапов.

-----

вфснилась важная фишка.

если в VM проброшено pci устройство то как известно с этой виртуалкой ничего
нельзя сделать. в плане ее измеения динамически. скажем диск ей новый недобавить.

но! оказалось что динамически можно уже имеющиеся диски у нее динамически расширить.
это уже очень круто !
----

esxi

ilo

как из под esxi сбросить пароль на вход в ilo

сразу скажу что для G6 нижеуказанный метод НЕРАБОТАЕТ!
для него указан способ еще ниже

1. проверяем установлен ли в системе hponcfg

/opt/hp/tools/hponcfg

2. если он неустановлен то ставим vib пакет

hponcfg                        5.5.0.4.4-0.3.1198610                 Hewlett-Packard  PartnerSupported  2019-12-24

3. перегржуеаем сервер без этого никак. просто копирование файлов
непоможет

4. узнаем какой IP у нас установлен для связи с ilo

/opt/hp/tools/hponcfg -w /tmp/vasya.txt

cat /tmp/vasya.txt

смотрим ip ilo

5. составляем файл с новым логином и паролем

# touch /tmp/ilo.txt
# vi /tmp/ilo.txt

вставляем туда такой текст














6. перепрошиваем ilo на новый пароль

/opt/hp/tools/hponcfg -f /tmp/ilo.txt

готово. перезагрузка сервера ненужна


постскриптум. если у нас старый сервер типа G6
то у него гавно ilo  и на него hponcfg недействует. неумеет с таким старым ilo работать.
и тут уже сброс пароля надо делать через другие методы

g6 имеет Lights-out 100 и  Currently, configuration of Lights-Out 100 can be accomplished through the new browser or command line interfaces. ILO and RILOE II utilities such as HPONCFG and CPQLOCFG do not support Lights-Out 100 products.

нашел статью на хабре как из под esxi сбросить пароль на g6

на proliant G6 ни вкоем случае нельзя применять длинные пароли или пароли со спецсимволами !!!!!! поменяешь пароль и невойдешь !!!
поэтому в пароле нет никаких спецсимволов

вот статья - https://habr.com/ru/sandbox/101358/

вот ее содержание


скачиваем hp-scripting-tools-9.50-97.rhel6.i686.rpm

распаковываем

и копируем на esxi файл 

lo100cfg

chmod 777 ./lo100cgf


  1. гружаем текущие настройки LO100 в файл ./lo100cgf –o file.xml
  2. Смотрим на содержимое файла, можно через vi file.xml

Создаем через vi файл с конфигурацией нового пользователя vi user.xml:

<lo100cfg>
  <users>
    <add_user id="16" name="test" password="12345" privilege_level="administrator" />
  </users>
</lo100cfg>



  1. меняем полученный файл ./lo100cfg –I user.xml
  2. Заходим в web интерфейс карты LO100 с логином test и паролем 12345


я проверил метод работает !


================
smart array

оказалост что вот мы имеем два массива A и B
и в одном из них есть назначенный spare drive




~ # /opt/hp/hpssacli/bin/hpssacli ctrl slot=0 pd all show

Smart Array P440ar in Slot 0 (Embedded)

   array A

      physicaldrive 1I:1:1 (port 1I:box 1:bay 1, Solid State SATA, 960.1 GB, OK)
      physicaldrive 2I:1:5 (port 2I:box 1:bay 5, Solid State SATA, 960.1 GB, OK)
   

   array B

      physicaldrive 1I:1:2 (port 1I:box 1:bay 2, Solid State SATA, 960.1 GB, OK)
      physicaldrive 1I:1:3 (port 1I:box 1:bay 3, Solid State SATA, 960.1 GB, OK)
      physicaldrive 2I:1:6 (port 2I:box 1:bay 6, Solid State SATA, 960.1 GB, OK)
      physicaldrive 2I:1:7 (port 2I:box 1:bay 7, Solid State SATA, 960.1 GB, OK)
      physicaldrive 2I:1:8 (port 2I:box 1:bay 8, Solid State SATA, 960.1 GB, OK, spare)

   array C

      physicaldrive 1I:1:4 (port 1I:box 1:bay 4, Solid State SATA, 1 TB, OK)


так мы можем его назначить как spare и для друггого массива одновременно


/opt/hp/hpssacli/bin/hpssacli ctrl slot=0 array A modify spares=2I:1:8

~ # /opt/hp/hpssacli/bin/hpssacli ctrl slot=0 pd all show

Smart Array P440ar in Slot 0 (Embedded)

   array A

      physicaldrive 1I:1:1 (port 1I:box 1:bay 1, Solid State SATA, 960.1 GB, OK)
      physicaldrive 2I:1:5 (port 2I:box 1:bay 5, Solid State SATA, 960.1 GB, OK)
      physicaldrive 2I:1:8 (port 2I:box 1:bay 8, Solid State SATA, 960.1 GB, OK, spare)

   array B

      physicaldrive 1I:1:2 (port 1I:box 1:bay 2, Solid State SATA, 960.1 GB, OK)
      physicaldrive 1I:1:3 (port 1I:box 1:bay 3, Solid State SATA, 960.1 GB, OK)
      physicaldrive 2I:1:6 (port 2I:box 1:bay 6, Solid State SATA, 960.1 GB, OK)
      physicaldrive 2I:1:7 (port 2I:box 1:bay 7, Solid State SATA, 960.1 GB, OK)
      physicaldrive 2I:1:8 (port 2I:box 1:bay 8, Solid State SATA, 960.1 GB, OK, spare)

   array C

      physicaldrive 1I:1:4 (port 1I:box 1:bay 4, Solid State SATA, 1 TB, OK)

вуаля.
оба масива имеют один и тотже диск как spare

это конечно возможно ри условии что и A и B состоят из одинаковых дисков.

что запасной подходил ко всем дискам обоих массивов


=====


про права в vmware.


1. для того чтобы дать доступ к ресурсу - к сожалению надо чтобы юзер имел пермишн на сам ресурс ( например пул). и еще он должен иметь пермишн к самому вцентру. без пермишна к вцентру юзер не сможет даже войти в сферу.

пример.

положим есть юзер vasya
положим есть вирт машина VM-1
тогда чтобы войдя в сферу он смог к ней иметь доступ надо ему дать следущие пермишны.

a). на обьекте вцентр  надо vasya дать доступ Read-Only . причем ненужен значок Propagate. тоесть этот пермишн ненужно наследовать нанижележащие обьекты.  итак значок propagate снимаем.

b). на обьекте VM1 надо vasya дать доступ "Virtual machine user"




2. vcenter умеет работать с вложенными группами. можно одну группу вкладывать вдругую.

поэтму можно работать с ресурсами как и в виндовс AD. то есть создавать GL группы и DL группы.


и схема выгглядит так.

ресурс <- dl="" gl="" p="">
DL группы включаем в GL группы.


===

<- dl="" gl="" p="">
<- dl="" gl="" p="">есть очень важная тема.
<- dl="" gl="" p="">
<- dl="" gl="" p=""> у нас есть IP через который мы можем войти на esxi. 
<- dl="" gl="" p="">будь то standaone хост или прикрепленный к vcenter.
<- dl="" gl="" p="">
<- dl="" gl="" p="">
<- dl="" gl="" p="">этот ip он называется management ip.
<- dl="" gl="" p="">
<- dl="" gl="" p="">и это буквально первое что мы настраиваем при установке esxi.
<- dl="" gl="" p="">
<- dl="" gl="" p="">значит этот ip он привязан к  vmk.
<- dl="" gl="" p="">
<- dl="" gl="" p="">например 
<- dl="" gl="" p="">
<- dl="" gl="" p="">vmk2 = 192.168.3.10
<- dl="" gl="" p="">
<- dl="" gl="" p="">
есть очень важные моменты который я щас раскажу.

1 мы можем создать еще кучу vmk со своими ip.

например

vmk3 = 192.168.4.10
vmk100 = 10.10.10.10.

и мы можем заходить на esxi через клиент по любому из этих ip.

но.

эта схема будет работат ТОЛЬКО если  у нас  существует исходный vmk2. и он подключен к виртуальному свичу который подключен уже к реальной карте.


если мы удалим vmk2 = 192.168.3.10 или отключим его  виртуальный свич от реальной карты
или еще что.

то у нас мгновенно пропадет возможность зайи на essxi через клиент по любому vmk. по любому ip.

это очень суперважно.

поэтому заводить миллион доп vmk для целей захода на esxi нет смысла.
если будет проблема с исходным vmk то все остальные сразу отвалятся.


так вот.
есть такая очень практическая задача.

нам надо vmk перетащить на другой виртуальный свич. на другую реальную карту.

сделать это через графику по нормальному никак. только если это не полсденяя версия сферы и там  в вэб морде можно мигрировать vmk между вирт свичами.


а в esxi 5.5

это надо делать через командную строку.

причем  надо идти в консоль сервера  dcui и делать именно оттуда

потому что в процессе перетаскивания vmk связь через ssh  со всеми vmk будет потеряна.

делаем это вот так


https://kb.vmware.com/s/article/2037654 )


тока там часть туфты написана


1 вначале идем и смотрим в какой порт группе сидит нужный нам vmk


идем в клиент и смотрим это глазами.

например  vmk2 = 192.168.3.10 сидит в порт группе = manag3



2  удаляем наш vmk из данной порт группы


# esxcfg-vmknic -d Port_Group_Name


а именно

# esxcfg-vmknic -d manag3


фактически наш vmk непросто будет удален из порт группы. он вообще перестанет сущестовать


2  дальше нам надо на нужном на виртуальном свиче создать новую порт группу

# esxcfg-vswitch –A "Port_Group_Name" vSwitch0

для примера нужный нам свич = vSwitch10

создадим на нем порт группу = manag10

# esxcfg-vswitch -A "manag10" vSwitch10

3 далее нам надо заново создать наш vmk и вставить его в новую порт группу

# esxcfg-vmknic –a -i 192.168.100.1 -n 255.255.255.0 "Management"

в нашем случае

# esxcfg-vmknic -a 192.168.3.10 -n 255.255.255.0 "manag10"

все.


еще раз скажу что  на время всех этих работ связь с esxxi по ssh либо через клиент
будет потеряна.
поэтому это надо все делать только через dcui

-----

выяснилось вот что.

открываем c# клиент. входим на vcenter - Home - Vcenter Server Settings-Runtime Settings - Managed Ip address.

там можно вбить ip адрес.

что это дает потому что и так все работает но.

Managed Ip address - это указанный в явном виде ip адрес через который vcenter может связаться с esxi хостами.

но я точно помню у меня были проблемы когда хосты начали
отваливаться (небыть видны в вцентр) когда я добавил еще одну сетевую
карту на вцентр.

типа одна карта немаршрутизируемая для связи вцентр с хостами
вторая карта для входа через клиент.

так что эта настройка она для этого.

-----

еще один момент.

если мы в вцентр нажмем - Home - datastores and datastore clusters - выберем
кокнетный датастор - performance - view (performance)

то во первых нас пощлеь нафиг сообщение от интернет эксплорера

"Content within this application coming from the website listed below is being blocked by Internet Explorer Enhanced Security Configuration" 


что надо сделать

надо открыть интернет эксплорер - tools -internet options - security - trusted sites -  понизить секретность в самый низ - ты кнуть в sites и в строке добавить сайт 

http://127.0.0.1

и убрать галку "require server verification"

теперь наконец нет табдицы о том что интернет эксплорер нам запретил
смотреть статистику перфоманса.

но на этом приколы незаканчиваются.

вместо графиков перфоманса стораджа он нам напишет -

"data  is not collected for the current statistics level"

при этом в графе time range стоит 1 day.


зачем вообще мы сюда заходили. 
я хочу посмотреть макростатистику отклика в мс стораджа за сутки.
также как мы можем посмотреть это для всего сервера целиком за сутки по цпу.

но для цпу это доступно . а для стораджа нет.

только можно посмотреть статистику отклика работы стораджа в режиме
RealTime. 

для этго надо помпнять time range графу.

возможно сделать так чтобы статистика за день для стораджа по его 
перфомансу чтобы сохраналась меняется в Home- vceter server settings - statistics.

там можног увеличить глубину логирования чтоли

но во первых там если поменять то вот так сразу неопнятно. надо ждать наверно сутки.

а во вторых что сразу в два раза увеличивается размер базы данных 
у вцентра.  для примера 

на два хоста и 30 виртуалок база занимает 14 ГБ вроде как.

 а так сразу 24 будет.

нестал экспермиентроват и ждать. так как вцентр лежит у меня на локлаьном ssd диске небольшого размера и там увеличивать место некуда.

будем пока мириться с перфомансом для дата стораджа в режиме рил тайм. то есть за последний час

---------------

щас я расскажу про дебильнейшую систему выдачи прав в vcenter

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

ладно. это цветочки.


также в сфере есть роли. роль это как галочки в пермишнах ntfs  , то есть это обезличеная хрень на тему того что можно.

права выдаются так.

создаем группу.  включаем туда пользователя.
потом правая кнопка на ресурс - например виртуальная машина и
там мы выбираем группу и какую роль мы ей дадим.

все как в виндовс. но нет.


первая хуйня : недосточно   группу привязать к ресурсу и выдать ей роль.
с такимим правами ты даже подключиться к вцентру не сможешь.

оказывается дополнительно надо создать группу.
эту группу надо привязать к обьекту vcenter ( самый верхний корневой обьект в консоли сферы) и выдать этой группу роль "read-only" и убрать галочку при этом "propagate".

только при наличии этого дополнительного пермишна заработает основное правило.

это полный блядь идиотизм.

то есть  каждый раз когда ты хочешь дать грууппе права на какойто ресурс
в кишках дерева ресурсов сферы ( виртуальная машина сторадж пул)
ты помимо непосредственной привязки этой группы к ресурсу еще
должен выдать "read-only" на ресурс вцентр.


но это единственный дебилизм.

в домене сферы vsphere.local есть  встроенная группа administrators
в нее входит и дефолтовый administrator@vsphere.local

у него как понятно полные права на все.

так вот.

если мы добавим пользователя в группу administrators то он получит почти полные права.   они будут неполные а почти полные.

в этом и есть дебилизм.

как это проявится.

если под таким каличным юзером тыкнуть на

Home  - vcenter server settings

то неожтданно мы получим табличку с отлупом

"you do not hold privilege system read on folder datacenters"

как бы чего ????
это при том что в останолном мы можем все и создавать виртуалки
и прочее.

оказывается все тот же блядский баг или фича.
то что нашего пользователя надо вкчлючить в ту самую группу
которая имеет права "read-only" на обьект  vcenter

воозникает вопрос  почему встроенный administrator@vshere.local
входит в группу administrators и  у него нет проблем
а   другой юзер добавленый в эту группу вдруг имее т проблемы.

ответ - хуй знает.

если мы добавим встроенную группу administrators в группу которая имеет
права read-only на обьект vcenter это непоможет. это несработает.

поэтому группа встроенная administrators она каличная

в этом вторая наебка.


я сделал по другому.

я создал еще одну группу "vmware-full-power" добавил туда юзера
приаттачил эту группу к обььекту vcenter , дал этой группу роль "administrators" (не путат роли и группы) и поставил галочку "propagate"

таким образом я получил дейситветльно полноценную группу для добавления туда пользователей чтобы они имели права полные на сферу.

поскольку группа приаттачена непосредственно к обьекту vcenter при этом еще и ненужно дополнительно выдават группе права read-only

но это прсто потому что мы приаттачили нашу группу непосредственн
к vcenter обьекту.

если аттачить к любому другому обьекту ниже то как я опимсал выше
обязательно нужно включать группу еще и груупу которая у вцентра имеет роль "read-only"

vcenter вроде как слава Богу поддеживает вложение группу в группу
поэтому не нужно юзера вписывать в сто групп.

но как я уже показал вложенные группы очень хуеов работают с встроенными (built-in) группами от самой сферы.

вот такой вот компот.

ужас дебилы.

поэтому общий совет такой.

встроенных групп от сферы стороних они с приколами.
лучше самом создать свою сбственную аналогичную.

второе - всегда при проблемах проверяй - есть ли у юзера\группы
дополнительная роль "read-only" приаттаченная к обьекту vcenter

уже второй или третий раз с этой хуйней ебался так что решил наконец отписать хотя совсем неххота было

и вот еще статья от вмвейр о том как это у них работает - https://kb.vmware.com/s/article/2007815


-----------------------------
esxi

как сделать чтобы в shell в  командной строке выглядел не так

#

а вот так

hostname#

и еще цвета чтоб были .

отличная статья - ( https://www.virtuallyghetto.com/2013/07/quick-tip-how-to-change-esxi-ssh-prompt.html )

в итоге в /etc/profile.local

добавить

PS1="\e[0;41m[\h \W]\$ \e[m"


перегружать сервер ненужно.
достаточно выйти и зайти по ssh еще раз.

--------------------------

возникла задача.

нужно чтобы человек мог в ресурс-пуле клонировать виртуалки

необходимые пермишины нашел здесь - https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.vm_admin.doc/GUID-1E185A80-0B97-4B46-A32B-3EF8F309BEED.html

для этого нужно создать ПЯТЬ ролей !


1) ResourcePool
Virtual machine.Provisioning.Clone virtual machine on the virtual machine you are cloning.
Resource.Assign virtual machine to resource pool on the destination host, cluster, or resource pool.
Virtual machine.Provisioning.Customize on the virtual machine or virtual machine folder if you are customizing the guest operating system.


2) DataCenter
Virtual machine.Inventory.Create from existing on the data center or virtual machine folder.
Virtual machine.Configuration.Add new disk on the data center or virtual machine folder.

3) Datastore
Datastore.Allocate space on the destination datastore or datastore folder.

4) Network
Network.Assign network on the network to which you assign the virtual machine.


5) vCenterServer
Virtual machine.Provisioning.Read customization specifications on the root vCenter Server if you are customizing the guest operating system.


роль это аналог NTFS permissions.

далее создаем в vmware группу - "clone VM in pool"

кидаем туда пользователей.

далее выбираем пул идем в permissions и добавляем нашу группу "clone VM in pool" и даем ей роль 1) . значок propagate оставляем.

далее выбираем датацентр , идем в permissions добавляем нашу группу "clone VM in pool" и даем ей роль 2) , значок propagate убираем

потом надо зайти на каждый датастор (одним махом неполучится для всех) и прописать нашу группу и дать ей роль 3)

потом тоже самое для каждой сети. зайти и прописаь нащу группу и дать ей роль 4) для каждой сети  которая пристуствует в виртуалкам которые мы хотим разрешить клонировать

и потом тыкаем на вцентр и прописываем нашу группу и даем ей роль 5). значок propagate убрать!


в чем еще есть неудоство системы выдачи прав у vmware это то что берем ресурс пул , виртуалка, датацентр . заходим в permissions и там юзер\группа может иметь ТОЛЬКО ОДНУ РОЛЬ!. это жопа. если мы хотим кому то дать две роли то нужно заводить две группы.
и каждую группу кидать на свою роль. а так чтобы одна группа имела две роли так неполучится. это имеется в виду для одного ресурса.  для двух разных ресурсов юзер\группа могут иметь две роли, но как я уже сказал для двух разных ресурсов.

для того чтобы юзер\группа мог удалять созданные клонированные виртуалки - для этого нужно делать отдельную роль и отдельную группу. роли которые описаны выше этого делать непозволяют
--------------

опять же про выдачу прав в vmware .

вылезла проблема. человек неможет запустить виртуалку.

вылезает ошибка

you do not have privilege system read on cluster


значит есть датацентр. в нем есть кластер.
то есть несколько хостов обьединены в кластер. когда виртуалка запускается то
нужно указать либо руками либро система решит на какой хосте запустиь виртуалку.

получается что человек должен иметь права нетолько на виртуалку но и на хосты кластера.

короче. что я выяснил.

надо в обьекте "кластер" в разделе пермишн был добавлен юзер с ролью ReadOnly без propagation.

визуально проверить легко имеет ли юзер права ридонли на обьект кластер.
заходим на сферу под этим юзером кликаем на значок кластера на вкладку permission.
если при этом мы видим там юзеров и их роли. значит у нас права нужные есть. а
если при нажатии на пермишн будет написано у вас нет прав. значит их нет.


длаее прикольно то что роль readonly если посмотреть какие конкретно галочки в ней есть. то там нет ниодной галки. то есть непонятно что это за роль такая..

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

если создадим группу-А. и добавим ее к обьекту "cluster" с ролью Readonly и добавим пользователя в эту группу-А. то такая схема работает.

то есть работает такая цепочка

юзер -> группа-А -> обьект кластер , роль ReadOnly

а если мы создадим группу-Б добавим ее в группу-А и пользователя добавим в группу-Б.
то такая цепочка нифина неработает !!!
то есть вот такая  цепочка неработает

юзер -> группа-Б -> группа-А -> обьект кластер, роль readOnly

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

вобщем очередная жопа с правами и сферой.

поэтому я бы дал совет стараться чтобы группа в группу невкладывалась потому что на сфере
это срабатывает невсегда. юзер может неполучить нужных прав.

я намучался это выяснять.

-------------------

Share: