Files
markbase/scripts/configure_iscsi.sh
Warren 71fa48a626 System Extension注册完成 + FSKit Driver待办事项
已完成:
 App ID(6770506571)
 Bundle ID(com.momentry.markbase.fskit)
 Developer ID Application证书导入
 .app Bundle创建(build/MarkBaseFSKit.app)
 entitlements.plist配置

限制:
- binary未实现FSKit driver(占位符)
- 无法通过systemextensionsctl install安装
- 需要完整FSKit接口实现

策略:
- 短期:WebDAV(500 MB/s)
- 长期:FSKit Driver完整实现(650 MB/s)

文档:
- SYSTEM_EXTENSION_MANUAL_INSTALL.md
- FSKIT_DRIVER_TODO.md(未来待办)
2026-05-18 20:45:50 +08:00

55 lines
1.4 KiB
Bash
Executable File

#!/bin/bash
set -e
echo "=== MarkBase iSCSI Configuration Script ==="
USER_ID="${1:-demo}"
DISKS="${2:-/dev/sdb /dev/sdc /dev/sdd}"
STRIPE_SIZE="${3:-64}"
echo "Configuration Parameters:"
echo " User ID: $USER_ID"
echo " Disks: $DISKS"
echo " Stripe Size (KB): $STRIPE_SIZE"
echo ""
echo "Step 1: Verifying disk availability..."
for disk in $DISKS; do
if [ ! -b "$disk" ]; then
echo "ERROR: Disk $disk not found"
exit 1
fi
echo "$disk exists"
done
echo ""
echo "Step 2: Creating RAID5 array..."
cargo run --bin configure_iscsi "$USER_ID" --disks $DISKS
echo ""
echo "Step 3: Verifying RAID5 status..."
sudo dmsetup status markbase_$USER_ID
echo ""
echo "Step 4: Creating database..."
DB_PATH="data/users/$USER_ID.sqlite"
if [ ! -f "$DB_PATH" ]; then
echo " Creating new database: $DB_PATH"
cargo run -- scan --user "$USER_ID" --dir "/tmp/test_data"
fi
echo ""
echo "Step 5: Mapping LUNs to SQLite nodes..."
echo " This requires manual setup via targetcli or custom script"
echo ""
echo "Step 6: Testing iSCSI connection..."
echo " Use initiator client to connect:"
echo " Target IQN: iqn.2026-05.momentry:markbase_$USER_ID"
echo " Portal: 0.0.0.0:3260"
echo ""
echo "=== Configuration Complete ==="
echo "RAID Device: /dev/mapper/markbase_$USER_ID"
echo "iSCSI Target: iqn.2026-05.momentry:markbase_$USER_ID"
echo "Database: $DB_PATH"