如何解决linuxraid6不超过16t

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何解决linuxraid6不超过16t相关的知识,希望对你有一定的参考价值。

参考技术A 1.我们做raid超过16T的啊~不知道你们用的是什么raid卡(我们是lsi的),报的什么错误?
2.如果只是分区不成功,那就只能用gpt来分区的,不能用传统的fdisk来分区的,fdisk不支持大分区
3.emc曾经跟我们说过,做raid不要做太多盘,一个增加raid计算压力,性能反而会下降,另一个增加raid内坏盘的概率

Java中的子字符串 - 长度不超过一个值

【中文标题】Java中的子字符串 - 长度不超过一个值【英文标题】:Substring in Java - length up to a value 【发布时间】:2012-10-08 23:37:27 【问题描述】:

我正在尝试创建一个子字符串,它可以让我拥有最多 6 个姓氏的字母,但是当我找到少于 6 个字母的姓氏时,我在这里似乎会抛出一个错误,我一直在寻找几个小时对于没有成功的解决方案:/

id = firstName.substring (0,1).toLowerCase() + secondName.substring (0,6).toLowerCase();
System.out.print ("Here is your ID number: " + id);

这是.substring(0,6)。我需要它最多 6 个字母,而不是正好 6 个。

错误:

Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 6
    at java.lang.String.substring(Unknown Source)
    at Test.main(Test.java:27)

【问题讨论】:

【参考方案1】:

使用

secondName.substring (0, Math.min(6, secondName.length()))

【讨论】:

Math.min(6, secondName.length())6 如果secondName.length()>6,则在其他情况下是secondName.length() secondName.lenght() 获取字符串的长度。 Math.min() 获取最小值,这意味着如果字符串的长度小于 6,则返回该值。但是如果字符串的长度大于 6,则返回 6。 @RolfSmit - 问题是我需要它达到 6【参考方案2】:

Try the Apache Commons StringUtils class.

// This operation is null safe.
org.apache.commons.lang.StringUtils.substring(secondName, 0, 6);

【讨论】:

感谢修复@ihebiheb【参考方案3】:

我更喜欢

secondName.length > 6 ? secondName.substring(0, 6) : secondName

【讨论】:

【参考方案4】:

这可以是一个解决方案: 检查姓氏的长度并据此决定

if (secondName.length() >6)
id = firstName.substring (0,1).toLowerCase() + secondName.substring (0,6).toLowerCase(); 
else
id = firstName.substring (0,1).toLowerCase() + secondName.substring (0,secondName.length()).toLowerCase();

System.out.print ("Here is your ID number: " + id); 

【讨论】:

【参考方案5】:

虽然您没有提供错误,但很容易发现问题:

 id = firstName.substring (0,1).toLowerCase() + secondName.substring (0,6<secondName.length()?6:secondName.length).toLowerCase();
 System.out.print ("Here is your ID number: " + id); 

编辑这可能更具可读性:

 id = firstName.substring (0,1).toLowerCase() + (6<secondName.length()?secondName.substring(0,6):secondName).toLowerCase();
 System.out.print ("Here is your ID number: " + id); 

【讨论】:

【参考方案6】:

您将收到 java.lang.StringIndexOutOfBoundsException。

您需要确保长度始终小于字符串长度。类似的东西

int len = Math.min(6, secondName.length());
String id = firstName.substring (0,1).toLowerCase() + secondName.substring (0,len).toLowerCase();

【讨论】:

以上是关于如何解决linuxraid6不超过16t的主要内容,如果未能解决你的问题,请参考以下文章

extt文件系统识别超过16T分区

centos 6 lvm 扩容超过16T的一个坑(unknown device)

使用layui的表单时,lable超过5个字自动换行变为不换行如何解决。

小程序调用echarts 超过2m如何解决

如何使 emacs 突出显示超过 80 个字符的行?

如何解决MySQL超过最大连接数问题 max