<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://www.jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://www.jackxiang.com/post//</link>
<title><![CDATA[[实践OK]阿里云FreeBSD11.1系统盘扩容、分区、挂载，FreeBSD手动扩容。]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[Unix/LinuxC技术]]></category>
<pubDate>Mon, 11 Sep 2017 03:55:23 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	零、少了20G的查看：<br/>df -h<br/>Filesystem&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Size&nbsp;&nbsp;&nbsp;&nbsp;Used&nbsp;&nbsp; Avail Capacity&nbsp;&nbsp;Mounted on<br/>/dev/ufsid/59a7effe7885633c&nbsp;&nbsp;&nbsp;&nbsp; 19G&nbsp;&nbsp;&nbsp;&nbsp;5.6G&nbsp;&nbsp;&nbsp;&nbsp; 12G&nbsp;&nbsp;&nbsp;&nbsp;31%&nbsp;&nbsp;&nbsp;&nbsp;/<br/>devfs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.0K&nbsp;&nbsp;&nbsp;&nbsp;1.0K&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0B&nbsp;&nbsp; 100%&nbsp;&nbsp;&nbsp;&nbsp;/dev<br/><br/>一、gpart show 查看磁盘空间情况，可以看到磁盘大小是 40G，但是FreeBSD系统盘空间有20G，少了20G。<br/>Welcome to Alibaba Cloud Elastic Compute Service !<br/><br/>root@iZ2ze0upl89i15wngnott5Z:~ # gpart show [img]=&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;63&nbsp;&nbsp;83886017&nbsp;&nbsp;vtbd0&nbsp;&nbsp;MBR&nbsp;&nbsp;(40G)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;63&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - free -&nbsp;&nbsp;(512B)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;64&nbsp;&nbsp;41942975&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;freebsd&nbsp;&nbsp;[active]&nbsp;&nbsp;(20G)<br/>&nbsp;&nbsp;41943039&nbsp;&nbsp;41943041&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - free -&nbsp;&nbsp;(20G)<br/><br/>二、gpart recover ada0 恢复磁盘的空闲大小，然后再执行 gpart show 就可以看到磁盘的空闲空间了。<br/>gpart recover vtbd0<br/>vtbd0 recovering is not needed<br/><br/>三、gpart resize -i 3 -a 4k -s 40G vtbd0<br/>用它：<br/>gpart resize -i 1 -a 4k -s 39G vtbd0&nbsp;&nbsp; #注意编号是1： -i 1 <br/>vtbd0s1 resized<br/>上面FreeBSD14.1的精确计算大小和扩容再实践步骤参考：https://jackxiang.com/post/10934/<br/><br/>resize磁盘，我这里是50G的磁盘，但是不只能直接写50G，因为1G被swap占用了，512K被启动分区占用，最多只能使用48G，如果扩容到其他的大小，都需要在磁盘的总大小上减掉2G<br/><br/>growfs /dev/ada0p3<br/><textarea name="code" class="php" rows="15" cols="100">
growfs /dev/vtbd0s1
</textarea><br/>It&#039;s strongly recommended to make a backup before growing the file system.<br/>OK to grow filesystem on /dev/vtbd0s1 from 20GB to 39GB? [yes/no] yes<br/>growfs: /dev/vtbd0s1: Operation not permitted<br/>扩容文件系统，执行完成以后会提示是否同意从 19G 扩容到 48G，以及一些风险提醒，直接Yes。<br/><br/><br/>解决办法：freebsd resize partition<br/>将growfs当做service来执行<br/>service growfs onestart<br/>实践OK如下：<br/><textarea name="code" class="php" rows="15" cols="100">
root@iZ2ze0upl89i15wngnott5Z:~ # df -h
Filesystem&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Size&nbsp;&nbsp;&nbsp;&nbsp;Used&nbsp;&nbsp; Avail Capacity&nbsp;&nbsp;Mounted on
/dev/ufsid/59a7effe7885633c&nbsp;&nbsp;&nbsp;&nbsp; 19G&nbsp;&nbsp;&nbsp;&nbsp;3.9G&nbsp;&nbsp;&nbsp;&nbsp; 14G&nbsp;&nbsp;&nbsp;&nbsp;22%&nbsp;&nbsp;&nbsp;&nbsp;/
devfs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.0K&nbsp;&nbsp;&nbsp;&nbsp;1.0K&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0B&nbsp;&nbsp; 100%&nbsp;&nbsp;&nbsp;&nbsp;/dev
root@iZ2ze0upl89i15wngnott5Z:~ # service growfs onestart
Growing root partition to fill device
vtbd0s1 resized
super-block backups (for fsck_ffs -b #) at:
 42314112, 43596352, 44878592, 46160832, 47443072, 48725312, 50007552, 51289792, 52572032, 53854272,
 55136512, 56418752, 57700992, 58983232, 60265472, 61547712, 62829952, 64112192, 65394432, 66676672,
 67958912, 69241152, 70523392, 71805632, 73087872, 74370112, 75652352, 76934592, 78216832, 79499072,
 80781312, 82063552, 83345792

gpart show
=&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;63&nbsp;&nbsp;83886017&nbsp;&nbsp;vtbd0&nbsp;&nbsp;MBR&nbsp;&nbsp;(40G)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;63&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; - free -&nbsp;&nbsp;(512B)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;64&nbsp;&nbsp;83886016&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;freebsd&nbsp;&nbsp;[active]&nbsp;&nbsp;(40G)

root@iZ2ze0upl89i15wngnott5Z:~ # df -h
Filesystem&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Size&nbsp;&nbsp;&nbsp;&nbsp;Used&nbsp;&nbsp; Avail Capacity&nbsp;&nbsp;Mounted on
/dev/ufsid/59a7effe7885633c&nbsp;&nbsp;&nbsp;&nbsp; 39G&nbsp;&nbsp;&nbsp;&nbsp;3.9G&nbsp;&nbsp;&nbsp;&nbsp; 32G&nbsp;&nbsp;&nbsp;&nbsp;11%&nbsp;&nbsp;&nbsp;&nbsp;/
devfs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.0K&nbsp;&nbsp;&nbsp;&nbsp;1.0K&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0B&nbsp;&nbsp; 100%&nbsp;&nbsp;&nbsp;&nbsp;/dev
</textarea><br/>4 、df -h看下能看到成功扩容。<br/><br/>aliyun do the resize the freebsd size:<br/>attachment.php?fid=475[/img]<br/><br/>service growfs onestart<br/>Growing root partition to fill device<br/>vtbd0s1 resized<br/>growfs: requested size 40GB is not larger than the current filesystem size 40GB<br/><br/>onestart 这个命令是什么意思？我找到了：<br/>vim /etc/rc.d/growfs ，但是里面没有onestart。<br/><br/>在 /etc/rc.d/growfs 脚本中没有看到 onestart 的特定逻辑，但它是由 FreeBSD 的服务管理框架处理的。你可以使用 service growfs onestart 命令来一次性启动服务，而不会影响其自动启动状态。growfs_start() &#123; 是入口。<br/><br/>https://help.aliyun.com/document_detail/35099.html<br/><br/><br/>自己家里的服务器作了下kvm的扩容尝试，原因还是安装port时空间太小<a href="https://jackxiang.com/post/2849/" target="_blank">https://jackxiang.com/post/2849/</a>，最后扩容成功就不存在这个问题了：<br/>/usr/ports/x11/xprintidle/<br/>mkdir: /usr/ports/x11: No space left on device<br/>tar: could not chdir to &#039;/usr/ports/x11/xprintidle/&#039;<br/>怎么办？扩容了：<br/>qemu-img resize&nbsp;&nbsp;FreeBSD-13.0-RELEASE-amd64.raw +128G&nbsp;&nbsp;#运行成功后，去freeBSD里面进行扩容：<br/><textarea name="code" class="php" rows="15" cols="100">
root@freebsd-unmp-10-10-0-237:~ # gpart show
=&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;10552471&nbsp;&nbsp;vtbd0&nbsp;&nbsp;GPT&nbsp;&nbsp;(196G) [CORRUPT]
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 127&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;freebsd-boot&nbsp;&nbsp;(64K)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 130&nbsp;&nbsp;&nbsp;&nbsp; 66584&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;efi&nbsp;&nbsp;(33M)
&nbsp;&nbsp;&nbsp;&nbsp; 66714&nbsp;&nbsp; 2097152&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;freebsd-swap&nbsp;&nbsp;(1.0G)
&nbsp;&nbsp; 2163866&nbsp;&nbsp; 8388608&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;freebsd-ufs&nbsp;&nbsp;(4.0G)

gpart show
gpart recover vtbd0
gpart resize -i 3 -a 4k -s 196G vtbd0&nbsp;&nbsp;#执行失败
 gpart resize -i 3 -a 4k -s 185G vtbd0
gpart: autofill: No space left on device
service growfs onestart&nbsp;&nbsp;#运行成功
Growing root partition to fill device
vtbd0 recovering is not needed
vtbd0p4 resized
gpart: arg0 &#039;gpt/rootfs&#039;: Invalid argument
super-block backups (for fsck_ffs -b #) at:
 8963328, 10243776, 11524224, 12804672, 14085120
 df -h&nbsp;&nbsp;#显示扩容成功
Filesystem&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Size&nbsp;&nbsp;&nbsp;&nbsp;Used&nbsp;&nbsp; Avail Capacity&nbsp;&nbsp;Mounted on
/dev/gpt/rootfs&nbsp;&nbsp;&nbsp;&nbsp;189G&nbsp;&nbsp;&nbsp;&nbsp;3.9G&nbsp;&nbsp;&nbsp;&nbsp;170G&nbsp;&nbsp;&nbsp;&nbsp; 2%&nbsp;&nbsp;&nbsp;&nbsp;/
devfs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1.0K&nbsp;&nbsp;&nbsp;&nbsp;1.0K&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0B&nbsp;&nbsp; 100%&nbsp;&nbsp;&nbsp;&nbsp;/dev
/dev/gpt/efiesp&nbsp;&nbsp;&nbsp;&nbsp; 32M&nbsp;&nbsp;&nbsp;&nbsp;878K&nbsp;&nbsp;&nbsp;&nbsp; 31M&nbsp;&nbsp;&nbsp;&nbsp; 3%&nbsp;&nbsp;&nbsp;&nbsp;/boot/efi

</textarea>
]]>
</description>
</item><item>
<link>http://www.jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] [实践OK]阿里云FreeBSD11.1系统盘扩容、分区、挂载，FreeBSD手动扩容。]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>