{"id":1360,"date":"2022-06-28T15:30:56","date_gmt":"2022-06-28T13:30:56","guid":{"rendered":"https:\/\/virtualguru.cz\/?p=1360"},"modified":"2022-06-28T15:30:56","modified_gmt":"2022-06-28T13:30:56","slug":"zobrazeni-zavislosti-mezi-soubory-disku","status":"publish","type":"post","link":"https:\/\/virtualguru.cz\/en\/2022\/06\/28\/zobrazeni-zavislosti-mezi-soubory-disku\/","title":{"rendered":"Zobrazen\u00ed z\u00e1vislost\u00ed mezi soubory disku"},"content":{"rendered":"<p>Tak jsem se op\u011bt dostal k tomu, \u017ee jsem pot\u0159eboval zjistit, jak jsou na sebe nav\u00e1z\u00e1ny soubory linkovan\u00fdch disk\u016f.<\/p>\n<p>S t\u00edmto se m\u016f\u017eete setkat pokud vytvo\u0159\u00edte snapshoty, nebo pokud pou\u017e\u00edv\u00e1te linkovan\u00e9 klony ve sv\u00e9m prost\u0159ed\u00ed.<\/p>\n<p>Pak se m\u016f\u017eete dostat do situace, \u017ee nev\u00edte p\u0159esn\u011b kter\u00e9 disky, resp. soubory tam je\u0161t\u011b mus\u00ed z\u016fstat a kter\u00e9 m\u016f\u017eete u\u017e zapracovat.<\/p>\n<p>Pomoc\u00ed PowerCLI jsem si vypsal z\u00e1vislosti mezi jednotliv\u00fdmi soubory disk\u016f, kter\u00e9 jsou p\u0159ipojen\u00e9 do VM a pak kdy\u017e si to se\u0159ad\u00edte podle &#8222;abecedy&#8220;, tak vid\u00edte jak jsou ty jednotliv\u00e9 z\u00e1vislosti prov\u00e1zan\u00e9 a kter\u00e9 disky (VM) vych\u00e1z\u00ed t\u0159eba ze stejn\u00fdch z\u00e1klad\u016f.<\/p>\n<p>Napsal jsem si jednu PowerShell funkci, kter\u00e1 vezme jako parametr disk VM a vyp\u00ed\u0161e soubory jak jsou na sebe nav\u00e1z\u00e1ny.<\/p>\n<p>Toto je mo\u017eno d\u00edky tomu, \u017ee v ka\u017ed\u00e9m descriptoru je i informace o p\u0159edkovi (Parent), ze kter\u00e9ho tento disk je rozd\u00edlem. A to a\u017e po posledn\u00ed &#8222;BASE&#8220; kter\u00fd u\u017e m\u00e1 jako parent &#8222;ffffffff&#8220; &#8211; nem\u00e1 p\u0159edka.<\/p>\n<p><a href=\"https:\/\/virtualguru.cz\/wp-content\/uploads\/2022\/06\/obrazek-1537.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1361\" src=\"https:\/\/virtualguru.cz\/wp-content\/uploads\/2022\/06\/obrazek-1537-300x228.png\" alt=\"\" width=\"300\" height=\"228\" srcset=\"https:\/\/virtualguru.cz\/wp-content\/uploads\/2022\/06\/obrazek-1537-300x228.png 300w, https:\/\/virtualguru.cz\/wp-content\/uploads\/2022\/06\/obrazek-1537-1024x779.png 1024w, https:\/\/virtualguru.cz\/wp-content\/uploads\/2022\/06\/obrazek-1537-768x584.png 768w, https:\/\/virtualguru.cz\/wp-content\/uploads\/2022\/06\/obrazek-1537.png 1246w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>A stejn\u00e9 informace, m\u00edsto p\u0159ipojen\u00ed p\u0159es SSH na ESX hosta, m\u016f\u017eete z\u00edskat p\u0159es API, resp p\u0159es PowerCLI.<\/p>\n<p>Tyto informace ale u\u017e nenajdete &#8222;jednodu\u0161e&#8220; v objektu z\u00edskan\u00e9m p\u0159es &#8222;Get-HardDisk&#8220; commandlet, ale mus\u00edte se pod\u00edvat do ExtensionData.<\/p>\n<p>Tohoto pak vyu\u017e\u00edv\u00e1m ve funkci Get-HardDisk-Links n\u00ed\u017ee.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\">function Get-HardDisk-Links { \r\n    [CmdletBinding()]\r\n    param (\r\n        [Parameter(ValueFromPipeline)]$HardDisk\r\n    )\r\n    if ($HardDisk.GetType().FullName -eq \"VMware.VimAutomation.ViCore.Impl.V1.VirtualDevice.FlatHardDiskImpl\" ) {\r\n        $HardDisk = $HardDisk.ExtensionData.Backing\r\n    }\r\n    if ($null -eq $HardDisk.Parent) {\r\n        return $HardDisk.FileName\r\n    }\r\n    else {\r\n        return $((Get-HardDisk-Links $($HardDisk.Parent)) + \" -&gt; \" + $($HardDisk.FileName))\r\n    }\r\n}<\/pre>\n<p>Jakmile si tuto funkci p\u0159id\u00e1te &#8211; sta\u010d\u00ed cel\u00fd k\u00f3d spustit v konzoli &#8211; tak u\u017e m\u016f\u017eete v dan\u00e9 session pou\u017e\u00edt t\u0159eba n\u00e1sleduj\u00edc\u00ed vol\u00e1n\u00ed:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\">Get-VM A-DMZ | Get-HardDisk | Get-HardDisk-Links<\/pre>\n<p><a href=\"https:\/\/virtualguru.cz\/wp-content\/uploads\/2022\/06\/obrazek-1538.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1362\" src=\"https:\/\/virtualguru.cz\/wp-content\/uploads\/2022\/06\/obrazek-1538-300x40.png\" alt=\"\" width=\"300\" height=\"40\" srcset=\"https:\/\/virtualguru.cz\/wp-content\/uploads\/2022\/06\/obrazek-1538-300x40.png 300w, https:\/\/virtualguru.cz\/wp-content\/uploads\/2022\/06\/obrazek-1538-768x102.png 768w, https:\/\/virtualguru.cz\/wp-content\/uploads\/2022\/06\/obrazek-1538.png 852w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Pokud m\u00e1 b\u00fdt v\u00fdstupem pro disky pole, tak bohu\u017eel zat\u00edm takto<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"powershell\">Get-VM | Get-HardDisk | %{ $_ | Get-HardDisk-Links}<\/pre>\n<p><a href=\"https:\/\/virtualguru.cz\/wp-content\/uploads\/2022\/06\/obrazek-1539.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1364\" src=\"https:\/\/virtualguru.cz\/wp-content\/uploads\/2022\/06\/obrazek-1539-300x55.png\" alt=\"\" width=\"300\" height=\"55\" srcset=\"https:\/\/virtualguru.cz\/wp-content\/uploads\/2022\/06\/obrazek-1539-300x55.png 300w, https:\/\/virtualguru.cz\/wp-content\/uploads\/2022\/06\/obrazek-1539.png 695w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a>Tak snad to n\u011bkomu pom\u016f\u017ee \ud83d\ude42<\/p>","protected":false},"excerpt":{"rendered":"<p>Tak jsem se op\u011bt dostal k tomu, \u017ee jsem pot\u0159eboval zjistit, jak jsou na sebe nav\u00e1z\u00e1ny soubory linkovan\u00fdch disk\u016f. S t\u00edmto se m\u016f\u017eete setkat pokud&#8230;<\/p>\n<div class=\"more-link-wrapper\"><a class=\"more-link\" href=\"https:\/\/virtualguru.cz\/en\/2022\/06\/28\/zobrazeni-zavislosti-mezi-soubory-disku\/\">Continue Reading<span class=\"screen-reader-text\">Zobrazen\u00ed z\u00e1vislost\u00ed mezi soubory disku<\/span> <i class=\"fas fa-angle-right\"><\/i><\/a><\/div>","protected":false},"author":4,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"iawp_total_views":15,"footnotes":""},"categories":[18,3],"tags":[47,12,11,9],"class_list":["post-1360","post","type-post","status-publish","format-standard","hentry","category-automatizace","category-vsphere","tag-api","tag-powercli","tag-troubleshooting","tag-vsphere","entry"],"_links":{"self":[{"href":"https:\/\/virtualguru.cz\/en\/wp-json\/wp\/v2\/posts\/1360","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/virtualguru.cz\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/virtualguru.cz\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/virtualguru.cz\/en\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/virtualguru.cz\/en\/wp-json\/wp\/v2\/comments?post=1360"}],"version-history":[{"count":2,"href":"https:\/\/virtualguru.cz\/en\/wp-json\/wp\/v2\/posts\/1360\/revisions"}],"predecessor-version":[{"id":1365,"href":"https:\/\/virtualguru.cz\/en\/wp-json\/wp\/v2\/posts\/1360\/revisions\/1365"}],"wp:attachment":[{"href":"https:\/\/virtualguru.cz\/en\/wp-json\/wp\/v2\/media?parent=1360"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/virtualguru.cz\/en\/wp-json\/wp\/v2\/categories?post=1360"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/virtualguru.cz\/en\/wp-json\/wp\/v2\/tags?post=1360"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}