Ubuntu系统下扩展LVM根目录的方法
<p><span><strong>前言</strong></span></p>
<p>
最近手头一台运行在 Hyper-V 下面抓数据的服务器 (Ubuntu 16.04) 磁盘空间不够了,之前也没有把数据单独放到一个分区,所以只能想办法把根目录给搞大一点。之前没有处理过这样的问题,网上搜了很多资料,现在把拓展方法记录,分享出来。</p>
<p>
建议在操作之前做好备份工作</p>
<p>
<span><strong>步骤概览</strong></span></p>
<ol>
<li>
调大物理磁盘</li>
<li>
确定要操作的磁盘</li>
<li>
扩展 LVM 逻辑分区所在的物理拓展分区</li>
<li>
新增 LVM 逻辑分区</li>
<li>
新分区合并到相应 Volumn Group</li>
<li>
更新文件系统</li>
</ol>
<p>
<span><strong>调大物理磁盘</strong></span></p>
<p>
虚拟机关机,然后直接在虚拟机管理里面操作。</p>
<p>
<img style="max-width:100%!important;height:auto!important;"title="Ubuntu系统下扩展LVM根目录的方法" alt="Ubuntu系统下扩展LVM根目录的方法" src="https://zhuji.jb51.net/uploads/img/202305/7e32e07d21cefeab1fa3bf178a895bc3.jpg"></p>
<p>
现在把磁盘从 100G 调整到了 300G</p>
<p>
<span><strong>确定要操作的磁盘</strong></span></p>
<p>
先看下磁盘使用情况,运行命令</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_900772">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
<div class="line number10 index9 alt1">
10</div>
<div class="line number11 index10 alt2">
11</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">root@vm003:~</code><code class="bash comments"># df -h</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">Filesystem Size Used Avail Use% Mounted on</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash plain">udev 3.9G 0 3.9G 0% </code><code class="bash plain">/dev</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain">tmpfs 798M 8.6M 789M 2% </code><code class="bash plain">/run</code>
</div>
<div class="line number5 index4 alt2">
<code class="bash plain">/dev/mapper/Ubuntu-root</code> <code class="bash plain">94G 88G 1.9G 98% /</code>
</div>
<div class="line number6 index5 alt1">
<code class="bash plain">tmpfs 3.9G 0 3.9G 0% </code><code class="bash plain">/dev/shm</code>
</div>
<div class="line number7 index6 alt2">
<code class="bash plain">tmpfs 5.0M 0 5.0M 0% </code><code class="bash plain">/run/lock</code>
</div>
<div class="line number8 index7 alt1">
<code class="bash plain">tmpfs 3.9G 0 3.9G 0% </code><code class="bash plain">/sys/fs/cgroup</code>
</div>
<div class="line number9 index8 alt2">
<code class="bash plain">/dev/sda1</code> <code class="bash plain">472M 382M 66M 86% </code><code class="bash plain">/boot</code>
</div>
<div class="line number10 index9 alt1">
<code class="bash plain">tmpfs 100K 0 100K 0% </code><code class="bash plain">/run/lxcfs/controllers</code>
</div>
<div class="line number11 index10 alt2">
<code class="bash plain">tmpfs 798M 0 798M 0% </code><code class="bash plain">/run/user/0</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
虽然我们已经把物理磁盘调整到了 300G,但是根目录还是100G的样子,已用 98%</p>
<p>
运行命令</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_406348">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
<div class="line number10 index9 alt1">
10</div>
<div class="line number11 index10 alt2">
11</div>
<div class="line number12 index11 alt1">
12</div>
<div class="line number13 index12 alt2">
13</div>
<div class="line number14 index13 alt1">
14</div>
<div class="line number15 index14 alt2">
15</div>
<div class="line number16 index15 alt1">
16</div>
<div class="line number17 index16 alt2">
17</div>
<div class="line number18 index17 alt1">
18</div>
<div class="line number19 index18 alt2">
19</div>
<div class="line number20 index19 alt1">
20</div>
<div class="line number21 index20 alt2">
21</div>
<div class="line number22 index21 alt1">
22</div>
<div class="line number23 index22 alt2">
23</div>
<div class="line number24 index23 alt1">
24</div>
<div class="line number25 index24 alt2">
25</div>
<div class="line number26 index25 alt1">
26</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">root@vm003:~</code><code class="bash comments"># fdisk -l</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">Disk </code><code class="bash plain">/dev/sda</code><code class="bash plain">: 300 GiB, 322122547200 bytes, 629145600 sectors</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash plain">Units: sectors of 1 * 512 = 512 bytes</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain">Sector size (logical</code><code class="bash plain">/physical</code><code class="bash plain">): 512 bytes / 4096 bytes</code>
</div>
<div class="line number5 index4 alt2">
<code class="bash plain">I</code><code class="bash plain">/O</code> <code class="bash plain">size (minimum</code><code class="bash plain">/optimal</code><code class="bash plain">): 4096 bytes / 4096 bytes</code>
</div>
<div class="line number6 index5 alt1">
<code class="bash plain">Disklabel </code><code class="bash functions">type</code><code class="bash plain">: dos</code>
</div>
<div class="line number7 index6 alt2">
<code class="bash plain">Disk identifier: 0xa88f1366</code>
</div>
<div class="line number8 index7 alt1">
</div>
<div class="line number9 index8 alt2">
<code class="bash plain">Device Boot Start End Sectors Size Id Type</code>
</div>
<div class="line number10 index9 alt1">
<code class="bash plain">/dev/sda1</code> <code class="bash plain">* 2048 999423 997376 487M 83 Linux</code>
</div>
<div class="line number11 index10 alt2">
<code class="bash plain">/dev/sda2</code> <code class="bash plain">1001470 209713151 208711682 99.5G 5 Extended</code>
</div>
<div class="line number12 index11 alt1">
<code class="bash plain">/dev/sda5</code> <code class="bash plain">1001472 209713151 208711680 99.5G 8e Linux LVM</code>
</div>
<div class="line number13 index12 alt2">
</div>
<div class="line number14 index13 alt1">
<code class="bash plain">Partition 2 does not start on physical sector boundary.</code>
</div>
<div class="line number15 index14 alt2">
</div>
<div class="line number16 index15 alt1">
</div>
<div class="line number17 index16 alt2">
<code class="bash plain">Disk </code><code class="bash plain">/dev/mapper/Ubuntu-root</code><code class="bash plain">: 95.5 GiB, 102563315712 bytes, 200318976 sectors</code>
</div>
<div class="line number18 index17 alt1">
<code class="bash plain">Units: sectors of 1 * 512 = 512 bytes</code>
</div>
<div class="line number19 index18 alt2">
<code class="bash plain">Sector size (logical</code><code class="bash plain">/physical</code><code class="bash plain">): 512 bytes / 4096 bytes</code>
</div>
<div class="line number20 index19 alt1">
<code class="bash plain">I</code><code class="bash plain">/O</code> <code class="bash plain">size (minimum</code><code class="bash plain">/optimal</code><code class="bash plain">): 4096 bytes / 4096 bytes</code>
</div>
<div class="line number21 index20 alt2">
</div>
<div class="line number22 index21 alt1">
</div>
<div class="line number23 index22 alt2">
<code class="bash plain">Disk </code><code class="bash plain">/dev/mapper/Ubuntu-swap_1</code><code class="bash plain">: 4 GiB, 4294967296 bytes, 8388608 sectors</code>
</div>
<div class="line number24 index23 alt1">
<code class="bash plain">Units: sectors of 1 * 512 = 512 bytes</code>
</div>
<div class="line number25 index24 alt2">
<code class="bash plain">Sector size (logical</code><code class="bash plain">/physical</code><code class="bash plain">): 512 bytes / 4096 bytes</code>
</div>
<div class="line number26 index25 alt1">
<code class="bash plain">I</code><code class="bash plain">/O</code> <code class="bash plain">size (minimum</code><code class="bash plain">/optimal</code><code class="bash plain">): 4096 bytes / 4096 bytes</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
可以看到 /dev/sda 已经确实被调整到了300GiB,只是系统还没用到。</p>
<p>
也知道了我们要操作 /dev/sda</p>
<p>
<span><strong>扩大 LVM 逻辑分区所在的物理分区</strong></span></p>
<p>
运行命令</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_540145">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
<div class="line number10 index9 alt1">
10</div>
<div class="line number11 index10 alt2">
11</div>
<div class="line number12 index11 alt1">
12</div>
<div class="line number13 index12 alt2">
13</div>
<div class="line number14 index13 alt1">
14</div>
<div class="line number15 index14 alt2">
15</div>
<div class="line number16 index15 alt1">
16</div>
<div class="line number17 index16 alt2">
17</div>
<div class="line number18 index17 alt1">
18</div>
<div class="line number19 index18 alt2">
19</div>
<div class="line number20 index19 alt1">
20</div>
<div class="line number21 index20 alt2">
21</div>
<div class="line number22 index21 alt1">
22</div>
<div class="line number23 index22 alt2">
23</div>
<div class="line number24 index23 alt1">
24</div>
<div class="line number25 index24 alt2">
25</div>
<div class="line number26 index25 alt1">
26</div>
<div class="line number27 index26 alt2">
27</div>
<div class="line number28 index27 alt1">
28</div>
<div class="line number29 index28 alt2">
29</div>
<div class="line number30 index29 alt1">
30</div>
<div class="line number31 index30 alt2">
31</div>
<div class="line number32 index31 alt1">
32</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">root@vm003:~</code><code class="bash comments"># parted /dev/sda</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">GNU Parted 3.2</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash plain">Using </code><code class="bash plain">/dev/sda</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain">Welcome to GNU Parted! Type </code><code class="bash string">'help'</code> <code class="bash plain">to view a list of commands.</code>
</div>
<div class="line number5 index4 alt2">
<code class="bash plain">(parted) print </code><code class="bash comments"># 查看分区</code>
</div>
<div class="line number6 index5 alt1">
<code class="bash plain">Model: Msft Virtual Disk (scsi)</code>
</div>
<div class="line number7 index6 alt2">
<code class="bash plain">Disk </code><code class="bash plain">/dev/sda</code><code class="bash plain">: 322GB</code>
</div>
<div class="line number8 index7 alt1">
<code class="bash plain">Sector size (logical</code><code class="bash plain">/physical</code><code class="bash plain">): 512B</code><code class="bash plain">/4096B</code>
</div>
<div class="line number9 index8 alt2">
<code class="bash plain">Partition Table: msdos</code>
</div>
<div class="line number10 index9 alt1">
<code class="bash plain">Disk Flags:</code>
</div>
<div class="line number11 index10 alt2">
</div>
<div class="line number12 index11 alt1">
<code class="bash plain">Number Start End Size Type File system Flags</code>
</div>
<div class="line number13 index12 alt2">
<code class="bash spaces"> </code><code class="bash plain">1 1049kB 512MB 511MB primary ext2 boot</code>
</div>
<div class="line number14 index13 alt1">
<code class="bash spaces"> </code><code class="bash plain">2 513MB 107GB 107GB extended</code>
</div>
<div class="line number15 index14 alt2">
<code class="bash spaces"> </code><code class="bash plain">5 513MB 107GB 107GB logical lvm</code>
</div>
<div class="line number16 index15 alt1">
</div>
<div class="line number17 index16 alt2">
<code class="bash plain">(parted) resizepart 2 </code><code class="bash comments"># 调整 sda2 分区大小</code>
</div>
<div class="line number18 index17 alt1">
<code class="bash plain">End? ? -0 </code><code class="bash comments"># 直接充满</code>
</div>
<div class="line number19 index18 alt2">
<code class="bash plain">(parted) print </code><code class="bash comments"># 再次查看</code>
</div>
<div class="line number20 index19 alt1">
<code class="bash plain">Model: Msft Virtual Disk (scsi)</code>
</div>
<div class="line number21 index20 alt2">
<code class="bash plain">Disk </code><code class="bash plain">/dev/sda</code><code class="bash plain">: 322GB</code>
</div>
<div class="line number22 index21 alt1">
<code class="bash plain">Sector size (logical</code><code class="bash plain">/physical</code><code class="bash plain">): 512B</code><code class="bash plain">/4096B</code>
</div>
<div class="line number23 index22 alt2">
<code class="bash plain">Partition Table: msdos</code>
</div>
<div class="line number24 index23 alt1">
<code class="bash plain">Disk Flags:</code>
</div>
<div class="line number25 index24 alt2">
</div>
<div class="line number26 index25 alt1">
<code class="bash plain">Number Start End Size Type File system Flags</code>
</div>
<div class="line number27 index26 alt2">
<code class="bash spaces"> </code><code class="bash plain">1 1049kB 512MB 511MB primary ext2 boot</code>
</div>
<div class="line number28 index27 alt1">
<code class="bash spaces"> </code><code class="bash plain">2 513MB 322GB 322GB extended</code>
</div>
<div class="line number29 index28 alt2">
<code class="bash spaces"> </code><code class="bash plain">5 513MB 107GB 107GB logical lvm</code>
</div>
<div class="line number30 index29 alt1">
</div>
<div class="line number31 index30 alt2">
<code class="bash plain">(parted) q </code><code class="bash comments"># 完成退出</code>
</div>
<div class="line number32 index31 alt1">
<code class="bash plain">Information: You may need to update </code><code class="bash plain">/etc/fstab</code><code class="bash plain">.</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
现在我们已经把 /dev/sda2 给拓展出来了</p>
<p>
<span><strong>新增 LVM 逻辑分区</strong></span></p>
<p>
运行命令</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_128541">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
<div class="line number10 index9 alt1">
10</div>
<div class="line number11 index10 alt2">
11</div>
<div class="line number12 index11 alt1">
12</div>
<div class="line number13 index12 alt2">
13</div>
<div class="line number14 index13 alt1">
14</div>
<div class="line number15 index14 alt2">
15</div>
<div class="line number16 index15 alt1">
16</div>
<div class="line number17 index16 alt2">
17</div>
<div class="line number18 index17 alt1">
18</div>
<div class="line number19 index18 alt2">
19</div>
<div class="line number20 index19 alt1">
20</div>
<div class="line number21 index20 alt2">
21</div>
<div class="line number22 index21 alt1">
22</div>
<div class="line number23 index22 alt2">
23</div>
<div class="line number24 index23 alt1">
24</div>
<div class="line number25 index24 alt2">
25</div>
<div class="line number26 index25 alt1">
26</div>
<div class="line number27 index26 alt2">
27</div>
<div class="line number28 index27 alt1">
28</div>
<div class="line number29 index28 alt2">
29</div>
<div class="line number30 index29 alt1">
30</div>
<div class="line number31 index30 alt2">
31</div>
<div class="line number32 index31 alt1">
32</div>
<div class="line number33 index32 alt2">
33</div>
<div class="line number34 index33 alt1">
34</div>
<div class="line number35 index34 alt2">
35</div>
<div class="line number36 index35 alt1">
36</div>
<div class="line number37 index36 alt2">
37</div>
<div class="line number38 index37 alt1">
38</div>
<div class="line number39 index38 alt2">
39</div>
<div class="line number40 index39 alt1">
40</div>
<div class="line number41 index40 alt2">
41</div>
<div class="line number42 index41 alt1">
42</div>
<div class="line number43 index42 alt2">
43</div>
<div class="line number44 index43 alt1">
44</div>
<div class="line number45 index44 alt2">
45</div>
<div class="line number46 index45 alt1">
46</div>
<div class="line number47 index46 alt2">
47</div>
<div class="line number48 index47 alt1">
48</div>
<div class="line number49 index48 alt2">
49</div>
<div class="line number50 index49 alt1">
50</div>
<div class="line number51 index50 alt2">
51</div>
<div class="line number52 index51 alt1">
52</div>
<div class="line number53 index52 alt2">
53</div>
<div class="line number54 index53 alt1">
54</div>
<div class="line number55 index54 alt2">
55</div>
<div class="line number56 index55 alt1">
56</div>
<div class="line number57 index56 alt2">
57</div>
<div class="line number58 index57 alt1">
58</div>
<div class="line number59 index58 alt2">
59</div>
<div class="line number60 index59 alt1">
60</div>
<div class="line number61 index60 alt2">
61</div>
<div class="line number62 index61 alt1">
62</div>
<div class="line number63 index62 alt2">
63</div>
<div class="line number64 index63 alt1">
64</div>
<div class="line number65 index64 alt2">
65</div>
<div class="line number66 index65 alt1">
66</div>
<div class="line number67 index66 alt2">
67</div>
<div class="line number68 index67 alt1">
68</div>
<div class="line number69 index68 alt2">
69</div>
<div class="line number70 index69 alt1">
70</div>
<div class="line number71 index70 alt2">
71</div>
<div class="line number72 index71 alt1">
72</div>
<div class="line number73 index72 alt2">
73</div>
<div class="line number74 index73 alt1">
74</div>
<div class="line number75 index74 alt2">
75</div>
<div class="line number76 index75 alt1">
76</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">root@vm003:~</code><code class="bash comments"># fdisk /dev/sda</code>
</div>
<div class="line number2 index1 alt1">
</div>
<div class="line number3 index2 alt2">
<code class="bash plain">Welcome to </code><code class="bash functions">fdisk</code> <code class="bash plain">(util-linux 2.27.1).</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain">Changes will remain </code><code class="bash keyword">in</code> <code class="bash plain">memory only, </code><code class="bash keyword">until</code> <code class="bash plain">you decide to write them.</code>
</div>
<div class="line number5 index4 alt2">
<code class="bash plain">Be careful before using the write </code><code class="bash functions">command</code><code class="bash plain">.</code>
</div>
<div class="line number6 index5 alt1">
</div>
<div class="line number7 index6 alt2">
</div>
<div class="line number8 index7 alt1">
<code class="bash plain">Command (m </code><code class="bash keyword">for</code> <code class="bash plain">help): p </code><code class="bash comments"># 查看现在的分区情况</code>
</div>
<div class="line number9 index8 alt2">
<code class="bash plain">Disk </code><code class="bash plain">/dev/sda</code><code class="bash plain">: 300 GiB, 322122547200 bytes, 629145600 sectors</code>
</div>
<div class="line number10 index9 alt1">
<code class="bash plain">Units: sectors of 1 * 512 = 512 bytes</code>
</div>
<div class="line number11 index10 alt2">
<code class="bash plain">Sector size (logical</code><code class="bash plain">/physical</code><code class="bash plain">): 512 bytes / 4096 bytes</code>
</div>
<div class="line number12 index11 alt1">
<code class="bash plain">I</code><code class="bash plain">/O</code> <code class="bash plain">size (minimum</code><code class="bash plain">/optimal</code><code class="bash plain">): 4096 bytes / 4096 bytes</code>
</div>
<div class="line number13 index12 alt2">
<code class="bash plain">Disklabel </code><code class="bash functions">type</code><code class="bash plain">: dos</code>
</div>
<div class="line number14 index13 alt1">
<code class="bash plain">Disk identifier: 0xa88f1366</code>
</div>
<div class="line number15 index14 alt2">
</div>
<div class="line number16 index15 alt1">
<code class="bash plain">Device Boot Start End Sectors Size Id Type</code>
</div>
<div class="line number17 index16 alt2">
<code class="bash plain">/dev/sda1</code> <code class="bash plain">* 2048 999423 997376 487M 83 Linux</code>
</div>
<div class="line number18 index17 alt1">
<code class="bash plain">/dev/sda2</code> <code class="bash plain">1001470 629145599 628144130 299.5G 5 Extended</code>
</div>
<div class="line number19 index18 alt2">
<code class="bash plain">/dev/sda5</code> <code class="bash plain">1001472 209713151 208711680 99.5G 8e Linux LVM</code>
</div>
<div class="line number20 index19 alt1">
</div>
<div class="line number21 index20 alt2">
<code class="bash plain">Partition 2 does not start on physical sector boundary.</code>
</div>
<div class="line number22 index21 alt1">
</div>
<div class="line number23 index22 alt2">
<code class="bash plain">Command (m </code><code class="bash keyword">for</code> <code class="bash plain">help): n </code><code class="bash comments"># 新增分区,选择逻辑分区,起止点看情况输入,默认值是填充满整个磁盘</code>
</div>
<div class="line number24 index23 alt1">
</div>
<div class="line number25 index24 alt2">
<code class="bash plain">All space </code><code class="bash keyword">for</code> <code class="bash plain">primary partitions is </code><code class="bash keyword">in</code> <code class="bash plain">use.</code>
</div>
<div class="line number26 index25 alt1">
<code class="bash plain">Adding logical partition 6</code>
</div>
<div class="line number27 index26 alt2">
<code class="bash plain">First sector (209715200-629145599, default 209715200):</code>
</div>
<div class="line number28 index27 alt1">
<code class="bash plain">Last sector, +sectors or +size{K,M,G,T,P} (209715200-629145599, default 629145599):</code>
</div>
<div class="line number29 index28 alt2">
</div>
<div class="line number30 index29 alt1">
<code class="bash plain">Created a new partition 6 of </code><code class="bash functions">type</code> <code class="bash string">'Linux'</code> <code class="bash plain">and of size 200 GiB.</code>
</div>
<div class="line number31 index30 alt2">
</div>
<div class="line number32 index31 alt1">
<code class="bash plain">Command (m </code><code class="bash keyword">for</code> <code class="bash plain">help): p </code><code class="bash comments"># 查看新增的分区</code>
</div>
<div class="line number33 index32 alt2">
<code class="bash plain">Disk </code><code class="bash plain">/dev/sda</code><code class="bash plain">: 300 GiB, 322122547200 bytes, 629145600 sectors</code>
</div>
<div class="line number34 index33 alt1">
<code class="bash plain">Units: sectors of 1 * 512 = 512 bytes</code>
</div>
<div class="line number35 index34 alt2">
<code class="bash plain">Sector size (logical</code><code class="bash plain">/physical</code><code class="bash plain">): 512 bytes / 4096 bytes</code>
</div>
<div class="line number36 index35 alt1">
<code class="bash plain">I</code><code class="bash plain">/O</code> <code class="bash plain">size (minimum</code><code class="bash plain">/optimal</code><code class="bash plain">): 4096 bytes / 4096 bytes</code>
</div>
<div class="line number37 index36 alt2">
<code class="bash plain">Disklabel </code><code class="bash functions">type</code><code class="bash plain">: dos</code>
</div>
<div class="line number38 index37 alt1">
<code class="bash plain">Disk identifier: 0xa88f1366</code>
</div>
<div class="line number39 index38 alt2">
</div>
<div class="line number40 index39 alt1">
<code class="bash plain">Device Boot Start End Sectors Size Id Type</code>
</div>
<div class="line number41 index40 alt2">
<code class="bash plain">/dev/sda1</code> <code class="bash plain">* 2048 999423 997376 487M 83 Linux</code>
</div>
<div class="line number42 index41 alt1">
<code class="bash plain">/dev/sda2</code> <code class="bash plain">1001470 629145599 628144130 299.5G 5 Extended</code>
</div>
<div class="line number43 index42 alt2">
<code class="bash plain">/dev/sda5</code> <code class="bash plain">1001472 209713151 208711680 99.5G 8e Linux LVM</code>
</div>
<div class="line number44 index43 alt1">
<code class="bash plain">/dev/sda6</code> <code class="bash plain">209715200 629145599 419430400 200G 83 Linux</code>
</div>
<div class="line number45 index44 alt2">
</div>
<div class="line number46 index45 alt1">
<code class="bash plain">Partition 2 does not start on physical sector boundary.</code>
</div>
<div class="line number47 index46 alt2">
</div>
<div class="line number48 index47 alt1">
<code class="bash plain">Command (m </code><code class="bash keyword">for</code> <code class="bash plain">help): t </code><code class="bash comments"># 改变分区类型为 Linux LVM</code>
</div>
<div class="line number49 index48 alt2">
<code class="bash plain">Partition number (1,2,5,6, default 6): 6 </code><code class="bash comments"># sda6</code>
</div>
<div class="line number50 index49 alt1">
<code class="bash plain">Partition </code><code class="bash functions">type</code> <code class="bash plain">(</code><code class="bash functions">type</code> <code class="bash plain">L to list all types): 8e </code><code class="bash comments"># LVM 类型的 Id 代码</code>
</div>
<div class="line number51 index50 alt2">
</div>
<div class="line number52 index51 alt1">
<code class="bash plain">Changed </code><code class="bash functions">type</code> <code class="bash plain">of partition </code><code class="bash string">'Linux'</code> <code class="bash plain">to </code><code class="bash string">'Linux LVM'</code><code class="bash plain">.</code>
</div>
<div class="line number53 index52 alt2">
</div>
<div class="line number54 index53 alt1">
<code class="bash plain">Command (m </code><code class="bash keyword">for</code> <code class="bash plain">help): p </code><code class="bash comments"># 再次查看分区情况</code>
</div>
<div class="line number55 index54 alt2">
<code class="bash plain">Disk </code><code class="bash plain">/dev/sda</code><code class="bash plain">: 300 GiB, 322122547200 bytes, 629145600 sectors</code>
</div>
<div class="line number56 index55 alt1">
<code class="bash plain">Units: sectors of 1 * 512 = 512 bytes</code>
</div>
<div class="line number57 index56 alt2">
<code class="bash plain">Sector size (logical</code><code class="bash plain">/physical</code><code class="bash plain">): 512 bytes / 4096 bytes</code>
</div>
<div class="line number58 index57 alt1">
<code class="bash plain">I</code><code class="bash plain">/O</code> <code class="bash plain">size (minimum</code><code class="bash plain">/optimal</code><code class="bash plain">): 4096 bytes / 4096 bytes</code>
</div>
<div class="line number59 index58 alt2">
<code class="bash plain">Disklabel </code><code class="bash functions">type</code><code class="bash plain">: dos</code>
</div>
<div class="line number60 index59 alt1">
<code class="bash plain">Disk identifier: 0xa88f1366</code>
</div>
<div class="line number61 index60 alt2">
</div>
<div class="line number62 index61 alt1">
<code class="bash plain">Device Boot Start End Sectors Size Id Type</code>
</div>
<div class="line number63 index62 alt2">
<code class="bash plain">/dev/sda1</code> <code class="bash plain">* 2048 999423 997376 487M 83 Linux</code>
</div>
<div class="line number64 index63 alt1">
<code class="bash plain">/dev/sda2</code> <code class="bash plain">1001470 629145599 628144130 299.5G 5 Extended</code>
</div>
<div class="line number65 index64 alt2">
<code class="bash plain">/dev/sda5</code> <code class="bash plain">1001472 209713151 208711680 99.5G 8e Linux LVM</code>
</div>
<div class="line number66 index65 alt1">
<code class="bash plain">/dev/sda6</code> <code class="bash plain">209715200 629145599 419430400 200G 8e Linux LVM</code>
</div>
<div class="line number67 index66 alt2">
</div>
<div class="line number68 index67 alt1">
<code class="bash plain">Partition 2 does not start on physical sector boundary.</code>
</div>
<div class="line number69 index68 alt2">
</div>
<div class="line number70 index69 alt1">
<code class="bash plain">Command (m </code><code class="bash keyword">for</code> <code class="bash plain">help): wq </code><code class="bash comments"># 确认没有问题,保存退出</code>
</div>
<div class="line number71 index70 alt2">
</div>
<div class="line number72 index71 alt1">
<code class="bash plain">The partition table has been altered.</code>
</div>
<div class="line number73 index72 alt2">
<code class="bash plain">Calling ioctl() to re-</code><code class="bash functions">read</code> <code class="bash plain">partition table.</code>
</div>
<div class="line number74 index73 alt1">
<code class="bash plain">Re-reading the partition table failed.: Device or resource busy</code>
</div>
<div class="line number75 index74 alt2">
</div>
<div class="line number76 index75 alt1">
<code class="bash plain">The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
<span><strong>新分区合并到相应 Volumn Group</strong></span></p>
<p>
运行命令</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_28831">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">root@vm003:~</code><code class="bash comments"># vgdisplay</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash spaces"> </code><code class="bash plain">--- Volume group ---</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash spaces"> </code><code class="bash plain">VG Name Ubuntu</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash spaces"> </code><code class="bash plain">System ID</code>
</div>
<div class="line number5 index4 alt2">
<code class="bash spaces"> </code><code class="bash plain">Format lvm2</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
可以看出我们要操作的VG Name 为 Ubuntu,记录下来。</p>
<p>
接着运行命令</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_793836">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">root@vm003:~</code><code class="bash comments"># vgextend Ubuntu /dev/sda6 # /dev/sda6 是刚刚增加的 LVM 分区</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash spaces"> </code><code class="bash plain">Device </code><code class="bash plain">/dev/sda6</code> <code class="bash plain">not found (or ignored by filtering).</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash spaces"> </code><code class="bash plain">Unable to add physical volume </code><code class="bash string">'/dev/sda6'</code> <code class="bash plain">to volume group </code><code class="bash string">'Ubuntu'</code><code class="bash plain">.</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
呃,,,提示没有找到 /dev/sda6 这个设备,还是重启一下好了。</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_181372">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">root@vm003:~</code><code class="bash comments"># reboot</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
重启后再次执行</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_787371">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">root@vm003:~</code><code class="bash comments"># vgextend Ubuntu /dev/sda6 # /dev/sda6 是刚刚增加的 LVM 分区</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash spaces"> </code><code class="bash plain">Physical volume </code><code class="bash string">"/dev/sda6"</code> <code class="bash plain">successfully created</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash spaces"> </code><code class="bash plain">Volume group </code><code class="bash string">"Ubuntu"</code> <code class="bash plain">successfully extended</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
再查看一下 Volumn Group 的状态,运行命令</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_560036">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">root@vm003:~</code><code class="bash comments"># vgs</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash spaces"> </code><code class="bash plain">VG </code><code class="bash comments">#PV #LV #SN Attr VSize VFree</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash spaces"> </code><code class="bash plain">Ubuntu 2 2 0 wz--n- 299.52g 200.00g</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
确实加进去了。</p>
<p>
然后运行</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_957652">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">root@vm003:~</code><code class="bash comments"># lvdisplay</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash spaces"> </code><code class="bash plain">--- Logical volume ---</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash spaces"> </code><code class="bash plain">LV Path </code><code class="bash plain">/dev/Ubuntu/root</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash spaces"> </code><code class="bash plain">LV Name root</code>
</div>
<div class="line number5 index4 alt2">
<code class="bash spaces"> </code><code class="bash plain">VG Name Ubuntu</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
我们知道了 Ubuntu VG 的 LV Path 是 /dev/Ubuntu/root,记录下来。</p>
<p>
然后运行</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_749005">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">root@vm003:~</code><code class="bash comments"># lvresize -l +100%FREE /dev/Ubuntu/root # /dev/Ubuntu/root 是 LV Path</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash spaces"> </code><code class="bash plain">Size of logical volume Ubuntu</code><code class="bash plain">/root</code> <code class="bash plain">changed from 95.52 GiB (24453 extents) to 295.52 GiB (75652 extents).</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash spaces"> </code><code class="bash plain">Logical volume root successfully resized.</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
这就成功啦。</p>
<blockquote>
<p>
警告: 如果操作时出现下面这样的 warning,就说明现在 logic volumn 的总大小还不对,resize 不但不增加空间,反而在缩小空间,如果继续操作下去,必将丢失数据。应立即停止!按 n 取消。</p>
</blockquote>
<blockquote>
<p>
WARNING: Reducing active and open logical volume to 32.00 MiB<br>
THIS MAY DESTROY YOUR DATA (filesystem etc.)<br>
Do you really want to reduce root? *</p>
</blockquote>
<p>
<span><strong>更新文件系统</strong></span></p>
<p>
最后一步,运行命令</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_776144">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">root@vm003:~</code><code class="bash comments"># resize2fs -p /dev/mapper/Ubuntu-root # /dev/mapper/Ubuntu-root 是从 df 命令看到的文件系统信息</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">resize2fs 1.42.13 (17-May-2015)</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash plain">Filesystem at </code><code class="bash plain">/dev/mapper/Ubuntu-root</code> <code class="bash plain">is mounted on /; on-line resizing required</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain">old_desc_blocks = 6, new_desc_blocks = 19</code>
</div>
<div class="line number5 index4 alt2">
</div>
<div class="line number6 index5 alt1">
<code class="bash plain">The filesystem on </code><code class="bash plain">/dev/mapper/Ubuntu-root</code> <code class="bash plain">is now 77467648 (4k) blocks long.</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
这个过程可能会花几分钟时间,耐心等待就好了。</p>
<p>
然后运行 df 命令查看磁盘使用</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_264203">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
<div class="line number10 index9 alt1">
10</div>
<div class="line number11 index10 alt2">
11</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">root@vm003:~</code><code class="bash comments"># df -h</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">Filesystem Size Used Avail Use% Mounted on</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash plain">udev 3.9G 0 3.9G 0% </code><code class="bash plain">/dev</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain">tmpfs 798M 8.6M 789M 2% </code><code class="bash plain">/run</code>
</div>
<div class="line number5 index4 alt2">
<code class="bash plain">/dev/mapper/Ubuntu-root</code> <code class="bash plain">291G 88G 191G 32% /</code>
</div>
<div class="line number6 index5 alt1">
<code class="bash plain">tmpfs 3.9G 0 3.9G 0% </code><code class="bash plain">/dev/shm</code>
</div>
<div class="line number7 index6 alt2">
<code class="bash plain">tmpfs 5.0M 0 5.0M 0% </code><code class="bash plain">/run/lock</code>
</div>
<div class="line number8 index7 alt1">
<code class="bash plain">tmpfs 3.9G 0 3.9G 0% </code><code class="bash plain">/sys/fs/cgroup</code>
</div>
<div class="line number9 index8 alt2">
<code class="bash plain">/dev/sda1</code> <code class="bash plain">472M 382M 66M 86% </code><code class="bash plain">/boot</code>
</div>
<div class="line number10 index9 alt1">
<code class="bash plain">tmpfs 100K 0 100K 0% </code><code class="bash plain">/run/lxcfs/controllers</code>
</div>
<div class="line number11 index10 alt2">
<code class="bash plain">tmpfs 798M 0 798M 0% </code><code class="bash plain">/run/user/0</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
大功告成!</p>
<p>
<strong>参考:</strong></p>
<p>
http://www.jb51.net/article/230466.html</p>
<p>
<span><strong>总结</strong></span></p>
<p>
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。</p>
<p>
原文链接:https://juejin.im/post/5aed09c46fb9a07a9f016dd9</p>
頁:
[1]