<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Knowledge Base (Posts about lvm)</title><link>https://bgstack15.ddns.net/blog/</link><description></description><atom:link href="https://bgstack15.ddns.net/blog/categories/lvm.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><copyright>Contents © 2023 &lt;a href="mailto:bgstack15@gmail.com"&gt;bgstack15&lt;/a&gt; 
&lt;a rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/"&gt;
&lt;img alt="Creative Commons License BY-SA"
style="border-width:0; margin-bottom:12px;"
src="https://bgstack15.ddns.net/.images/l_by-sa_4.0_88x31.png"&gt;&lt;/a&gt;</copyright><lastBuildDate>Sun, 05 Mar 2023 14:07:05 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Mount an lvm logical volume from a qcow2 file</title><link>https://bgstack15.ddns.net/blog/posts/2017/08/17/mount-an-lvm-logical-volume-from-a-qcow2-file/</link><dc:creator>bgstack15</dc:creator><description>&lt;h2&gt;Mounting qcow2 files to host filesystem&lt;/h2&gt;
&lt;h3&gt;Converting to raw and mounting&lt;/h3&gt;
&lt;p&gt;kpartx does not work very well with qcow2 files. You can convert the qcow2
file to a raw file:&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;oldfile=file.qcow2
newfile=file.raw
qemu-img convert "&lt;span class="cp"&gt;${&lt;/span&gt;&lt;span class="n"&gt;oldfile&lt;/span&gt;&lt;span class="cp"&gt;}&lt;/span&gt;" "&lt;span class="cp"&gt;${&lt;/span&gt;&lt;span class="n"&gt;newfile&lt;/span&gt;&lt;span class="cp"&gt;}&lt;/span&gt;"
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;You can now find the partitions and map them:&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;kpartx -av "&lt;span class="cp"&gt;${&lt;/span&gt;&lt;span class="n"&gt;newfile&lt;/span&gt;&lt;span class="cp"&gt;}&lt;/span&gt;"
mount /dev/loop2p2 /mnt/foo
&lt;/pre&gt;&lt;/div&gt;

&lt;h3&gt;Modifying a virtual machine to use the new image file&lt;/h3&gt;
&lt;p&gt;You can modify a virtual machine definition to use this new file:&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;virsh dumpxml &lt;span class="cp"&gt;${&lt;/span&gt;&lt;span class="n"&gt;domain&lt;/span&gt;&lt;span class="cp"&gt;}&lt;/span&gt; &amp;gt; domain.xml
vi domain.xml # Lines “source file=/path/file.raw” and “driver name=qemu type=raw"
virsh create domain.xml
&lt;/pre&gt;&lt;/div&gt;

&lt;h3&gt;Mounting lvm logical volumes from the image file&lt;/h3&gt;
&lt;p&gt;Update lvm with the currently attached disks.&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;pvscan; lvscan; lvdisplay
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Now you can mount /dev/mapper/cl_centos7--02a_root to a mount point.&lt;/p&gt;
&lt;h2&gt;References&lt;/h2&gt;
&lt;h3&gt;Weblinks&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Converting qcow2 file to raw to make it work with kpartx &lt;a href="https://www.certdepot.net/rhel7-access-virtual-machines-console/#comment-41448"&gt;https://www.certdepot.net/rhel7-access-virtual-machines-console/#comment-41448&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;An alternate way to mount a qcow2 file &lt;a href="http://ask.xmodulo.com/mount-qcow2-disk-image-linux.html"&gt;http://ask.xmodulo.com/mount-qcow2-disk-image-linux.html&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;Man pages&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href="https://linux.die.net/man/1/virsh"&gt;virsh&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;</description><category>disks</category><category>kvm</category><category>lvm</category><category>vm</category><guid>https://bgstack15.ddns.net/blog/posts/2017/08/17/mount-an-lvm-logical-volume-from-a-qcow2-file/</guid><pubDate>Thu, 17 Aug 2017 13:26:01 GMT</pubDate></item><item><title>Resize a live logical volume</title><link>https://bgstack15.ddns.net/blog/posts/2017/08/13/resize-a-live-logical-volume/</link><dc:creator>bgstack15</dc:creator><description>&lt;h2&gt;Resizing a live logical volume&lt;/h2&gt;
&lt;p&gt;If you use lvm to abstract the filesystems away from the direct hardware, you
might need to know how to add additional space without taking the filesystem
offline. This post shows how you might do that.&lt;/p&gt;
&lt;h4&gt;Attach new disk&lt;/h4&gt;
&lt;p&gt;Save current state to a file for comparison.&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;ls -l /dev/{s,v}d* &amp;gt; ~/ls.dev.sd.before
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Install additional disk to system (in hypervisor or attach to physical
machine). Scan with &lt;strong&gt;rescan-scsi-bus.sh&lt;/strong&gt; (from sg3_utils package). If that
fails, try&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;&lt;span class="nv"&gt;find&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nv"&gt;sys&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nv"&gt;class&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nv"&gt;scsi_host&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="nv"&gt;host&lt;/span&gt;&lt;span class="o"&gt;*/&lt;/span&gt;&lt;span class="nv"&gt;scan&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="nv"&gt;read&lt;/span&gt; &lt;span class="nv"&gt;line&lt;/span&gt;&lt;span class="c1"&gt;; do echo "- - -" &amp;gt; $line; done&lt;/span&gt;
&lt;span class="nv"&gt;lsblk&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Find the name of the new disk:&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;ls -l /dev/{s,v}d* &amp;gt; ~/ls.dev.sd.after
diff ~/ls.dev.sd.before ~/ls.dev.sd.after
&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;The output should be the name of the new disk.&lt;/p&gt;
&lt;h4&gt;Create a new partition&lt;/h4&gt;
&lt;p&gt;How to do it in fdisk:&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;&lt;span class="n"&gt;fdisk&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;dev&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;newdisk&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="n"&gt;n&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="n"&gt;enter&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="n"&gt;enter&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="n"&gt;enter&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="n"&gt;enter&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="n"&gt;w&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="n"&gt;enter&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;

&lt;h4&gt;Add the partition to lvm and the logical volume&lt;/h4&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;pvcreate /dev/newdisk1
vgextend vgname /dev/newdisk1
lvextend /dev/vgname/lvname /dev/newdisk1
&lt;/pre&gt;&lt;/div&gt;

&lt;h4&gt;Resize the filesystem&lt;/h4&gt;
&lt;p&gt;Filesystem type ext4 can be resized live:&lt;/p&gt;
&lt;div class="code"&gt;&lt;pre class="code literal-block"&gt;resize2fs /dev/vgname/lvname
&lt;/pre&gt;&lt;/div&gt;</description><category>disks</category><category>lvm</category><guid>https://bgstack15.ddns.net/blog/posts/2017/08/13/resize-a-live-logical-volume/</guid><pubDate>Sun, 13 Aug 2017 13:33:35 GMT</pubDate></item></channel></rss>