ubuntu下安装硬RAID Intel ESRT2

工作中需要配置一个2块硬盘组成的raid 1,配置为S1200BTSR主办,E3-1230 v2,8G ECC内存,这个是目前比较主流也是比较便宜的服务器配置,接下来就是看看如何组raid。在上面安装ubuntu server 12.04

1.在blos里面配置用raid来驱动硬盘
先把"Quiet Boot”这个选项调为Disabled,在启动过程中可以看到更多信息。
mass storage controller configuration
设置"RAID Mode"是:"INTEL(R) ESRT2 LSI(*),另一个选项INTEL(R) RST功能更强大,但是目前不支持linux RAID。重启之后,按ctrl+e进入raid配置界面,在easy congfige里面,对两块硬盘点空白按键。然后enter,对之前选中的两个硬盘构成一个raid组,再点空百键,选中改组,再点F10配置,选择raid 1,选择accept,确认boot里面是你开始建立的raid组,到此raid配置完成,然后选择initialize raid,初始化raid组。完成后重启。

2.通过硬盘或U盘正常启动ubuntu,我是用的U盘,用到了image write这个软件写入ubuntu镜项。

3.在提示检测到RAID是否启动的时候,按下ctrl+alt+F2,启动一个新的终端,输入命令[color=red]dmraid -a y[/color],这一步非常重要,他把硬件的raid映射成/dev/mapper/下面的一个设备。之后才能正常识别到硬盘。并分区。

4.在写入grub的时候,输入写入设备,要写入你开始建立的/dev/mapper/xxxx,可以在ctrl+alt+F2新的终端里面用ls /dev/mapper/ 查看,可能会很长,多点耐心输入。
之后的就完全一样的,到此,硬件raid就配置完毕。


解释一下,这种方式其实还是属于介于软raid与硬raid之间。在启动时候,由硬件raid驱动,当载入linux内核之后,由linux接手管理,还是会消耗cpu等资源。与更传统的软件raid比较,就是启动的时候(linux内核未介入之前)系统看到的仍然是一个raid的虚拟硬盘,所以两快硬盘完全一样,要恢复重建之类的更加简单。另外的话,dmraid映射了底层的硬件raid驱硬件控制器,,raid控制可能也能帮助处理一些操作,可能对性能也会有一定提高。
### 如何复现 ESRT 代码 #### 准备环境 为了成功运行 ESRT (Enhanced Spatial Resolution Transformer),需要先配置合适的开发环境。通常建议使用 Python 和 PyTorch 框架来实现这一模型[^1]。 安装必要的库可以通过 pip 完成: ```bash pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cpu pip install einops tensorboardX opencv-python scikit-image matplotlib numpy tqdm ``` #### 获取源码 可以从 GitHub 或其他公开资源获取 ESRT 的官方实现版本。确保下载的是经过验证的工作副本[^2]。 #### 数据准备 对于图像超分辨率任务,数据集的选择至关重要。常用的数据集包括 DIV2K, Set5, Set14 等。这些数据集可以用于训练和测试模型性能。加载并预处理数据集以便于后续操作[^3]: ```python from data import get_training_data, get_validation_data train_dataset = get_training_data('/path/to/train/dataset') val_dataset = get_validation_data('/path/to/validation/dataset') ``` #### 训练过程 定义好网络结构之后就可以开始训练了。这里提供了一个简单的训练循环例子: ```python import torch.optim as optim from model.esrt import ESRT from utils import train_one_epoch device = 'cuda' if torch.cuda.is_available() else 'cpu' model = ESRT().to(device) criterion = nn.L1Loss() optimizer = optim.Adam(model.parameters(), lr=0.0001) for epoch in range(epochs): train_loss = train_one_epoch(model, criterion, optimizer, train_loader, device) print(f"Epoch {epoch}, Loss: {train_loss}") ``` #### 测试与评估 完成训练后,应该对模型的效果进行评估。这一步骤可以帮助确认模型是否达到了预期效果以及是否有改进空间[^4]: ```python def evaluate_model(model, val_loader, device='cpu'): model.eval() psnr_values = [] with torch.no_grad(): for images_lr, images_hr in val_loader: outputs = model(images_lr.to(device)) batch_psnr = calculate_psnr(outputs.cpu(), images_hr) psnr_values.extend(batch_psnr.tolist()) avg_psnr = sum(psnr_values)/len(psnr_values) return avg_psnr ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值